<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" encoding="UTF-8" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:atom="http://www.w3.org/2005/Atom/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:fireside="http://fireside.fm/modules/rss/fireside">
  <channel>
    <fireside:hostname>web01.fireside.fm</fireside:hostname>
    <fireside:genDate>Sat, 02 May 2026 08:42:31 -0500</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>BSD Now - Episodes Tagged with “Capsicum”</title>
    <link>https://www.bsdnow.tv/tags/capsicum</link>
    <pubDate>Thu, 16 Jan 2025 08:00:00 -0500</pubDate>
    <description>Created by three guys who love BSD, we cover the latest news and have an extensive series of tutorials, as well as interviews with various people from all areas of the BSD community. It also serves as a platform for support and questions. We love and advocate FreeBSD, OpenBSD, NetBSD, DragonFlyBSD and TrueOS. Our show aims to be helpful and informative for new users that want to learn about them, but still be entertaining for the people who are already pros.
The show airs on Wednesdays at 2:00PM (US Eastern time) and the edited version is usually up the following day. 
</description>
    <language>en-us</language>
    <itunes:type>episodic</itunes:type>
    <itunes:subtitle>A weekly podcast and the place to B...SD</itunes:subtitle>
    <itunes:author>JT Pennington</itunes:author>
    <itunes:summary>Created by three guys who love BSD, we cover the latest news and have an extensive series of tutorials, as well as interviews with various people from all areas of the BSD community. It also serves as a platform for support and questions. We love and advocate FreeBSD, OpenBSD, NetBSD, DragonFlyBSD and TrueOS. Our show aims to be helpful and informative for new users that want to learn about them, but still be entertaining for the people who are already pros.
The show airs on Wednesdays at 2:00PM (US Eastern time) and the edited version is usually up the following day. 
</itunes:summary>
    <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
    <itunes:explicit>no</itunes:explicit>
    <itunes:keywords>berkeley,freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview</itunes:keywords>
    <itunes:owner>
      <itunes:name>JT Pennington</itunes:name>
      <itunes:email>feedback@bsdnow.tv</itunes:email>
    </itunes:owner>
<itunes:category text="News">
  <itunes:category text="Tech News"/>
</itunes:category>
<itunes:category text="Education">
  <itunes:category text="How To"/>
</itunes:category>
<item>
  <title>594: Name that Domain</title>
  <link>https://www.bsdnow.tv/594</link>
  <guid isPermaLink="false">d9d3402b-e9ab-4a53-8865-04a1bb8ae732</guid>
  <pubDate>Thu, 16 Jan 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d9d3402b-e9ab-4a53-8865-04a1bb8ae732.mp3" length="67824384" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Security Audit of the Capsicum and bhyve Subsystems, ZFS on Linux and block IO limits show some limits of being out of the kernel, NetBSD on a ROCK64 Board, Domain Naming, BSDCan 2025 CFP, The Internet Gopher from Minnesota, and more</itunes:subtitle>
  <itunes:duration>1:10:39</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>Security Audit of the Capsicum and bhyve Subsystems, ZFS on Linux and block IO limits show some limits of being out of the kernel, NetBSD on a ROCK64 Board, Domain Naming, BSDCan 2025 CFP, The Internet Gopher from Minnesota, and more
NOTES
This episode of BSDNow is brought to you by Tarsnap (https://www.tarsnap.com/bsdnow) and the BSDNow Patreon (https://www.patreon.com/bsdnow)
Headlines
Roundup Storage and Network Diagnostics (https://klarasystems.com/articles/winter_2024_roundup_storage_and_network_diagnostics/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast)
Security Audit of the
Capsicum and bhyve
Subsystems (https://freebsdfoundation.org/wp-content/uploads/2024/11/2024_Code_Audit_Capsicum_Bhyve_FreeBSD_Foundation.pdf)
News Roundup
ZFS on Linux and block IO limits show some limits of being out of the kernel (https://utcc.utoronto.ca/~cks/space/blog/linux/ZFSOnLinuxVersusBlockIOLimits)
NetBSD on a ROCK64 Board (https://simonevellei.com/blog/posts/netbsd-on-a-rock64-board/)
Domain Naming (https://ambient.institute/domain-naming/)
BSDCan 2025 CFP (https://www.bsdcan.org/2025/papers.html)
The Internet Gopher from Minnesota (https://www.abortretry.fail/p/the-internet-gopher-from-minnesota)
Tarsnap
This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.
Feedback/Questions
Brendan - MinIO (https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/594/feedback/Brendan%20-%20minio.md)
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)
Join us and other BSD Fans in our BSD Now Telegram channel (https://t.me/bsdnow)
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, open source, foss, shell, cli, unix, tools, utility, berkeley, software, distribution, development, code, programming, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, security, audit, Capsicum, bhyve, Subsystems, block io limits, rock64 board, domain naming, gopher, Minnesota</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Security Audit of the Capsicum and bhyve Subsystems, ZFS on Linux and block IO limits show some limits of being out of the kernel, NetBSD on a ROCK64 Board, Domain Naming, BSDCan 2025 CFP, The Internet Gopher from Minnesota, and more</p>

<p><strong><em>NOTES</em></strong></p>

<p>This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" rel="nofollow">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" rel="nofollow">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/winter_2024_roundup_storage_and_network_diagnostics/?utm_source=BSD%20Now&utm_medium=Podcast" rel="nofollow">Roundup Storage and Network Diagnostics</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/wp-content/uploads/2024/11/2024_Code_Audit_Capsicum_Bhyve_FreeBSD_Foundation.pdf" rel="nofollow">Security Audit of the<br>
Capsicum and bhyve<br>
Subsystems</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxVersusBlockIOLimits" rel="nofollow">ZFS on Linux and block IO limits show some limits of being out of the kernel</a></p>

<hr>

<p><a href="https://simonevellei.com/blog/posts/netbsd-on-a-rock64-board/" rel="nofollow">NetBSD on a ROCK64 Board</a></p>

<hr>

<p><a href="https://ambient.institute/domain-naming/" rel="nofollow">Domain Naming</a></p>

<hr>

<p><a href="https://www.bsdcan.org/2025/papers.html" rel="nofollow">BSDCan 2025 CFP</a></p>

<hr>

<p><a href="https://www.abortretry.fail/p/the-internet-gopher-from-minnesota" rel="nofollow">The Internet Gopher from Minnesota</a></p>

<hr>

<h2>Tarsnap</h2>

<p>This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.</p>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/594/feedback/Brendan%20-%20minio.md" rel="nofollow">Brendan - MinIO</a></li>
</ul>

<hr>

<ul>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" rel="nofollow">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Security Audit of the Capsicum and bhyve Subsystems, ZFS on Linux and block IO limits show some limits of being out of the kernel, NetBSD on a ROCK64 Board, Domain Naming, BSDCan 2025 CFP, The Internet Gopher from Minnesota, and more</p>

<p><strong><em>NOTES</em></strong></p>

<p>This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" rel="nofollow">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" rel="nofollow">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/winter_2024_roundup_storage_and_network_diagnostics/?utm_source=BSD%20Now&utm_medium=Podcast" rel="nofollow">Roundup Storage and Network Diagnostics</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/wp-content/uploads/2024/11/2024_Code_Audit_Capsicum_Bhyve_FreeBSD_Foundation.pdf" rel="nofollow">Security Audit of the<br>
Capsicum and bhyve<br>
Subsystems</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxVersusBlockIOLimits" rel="nofollow">ZFS on Linux and block IO limits show some limits of being out of the kernel</a></p>

<hr>

<p><a href="https://simonevellei.com/blog/posts/netbsd-on-a-rock64-board/" rel="nofollow">NetBSD on a ROCK64 Board</a></p>

<hr>

<p><a href="https://ambient.institute/domain-naming/" rel="nofollow">Domain Naming</a></p>

<hr>

<p><a href="https://www.bsdcan.org/2025/papers.html" rel="nofollow">BSDCan 2025 CFP</a></p>

<hr>

<p><a href="https://www.abortretry.fail/p/the-internet-gopher-from-minnesota" rel="nofollow">The Internet Gopher from Minnesota</a></p>

<hr>

<h2>Tarsnap</h2>

<p>This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.</p>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/594/feedback/Brendan%20-%20minio.md" rel="nofollow">Brendan - MinIO</a></li>
</ul>

<hr>

<ul>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" rel="nofollow">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 275: OpenBSD in Stereo | BSD Now 275</title>
  <link>https://www.bsdnow.tv/275</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2997</guid>
  <pubDate>Sun, 09 Dec 2018 04:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/233f4bf5-4bc3-453e-9e99-c78b18a453e0.mp3" length="51110355" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonflyBSD 5.4 has been released, down the Gopher hole with OpenBSD, OpenBSD in stereo with VFIO, BSD/OS the best candidate for legally tested open source Unix, OpenBGPD adds diversity to the routing server landscape, and more.</itunes:subtitle>
  <itunes:duration>1:24:52</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;DragonflyBSD 5.4 has been released, down the Gopher hole with OpenBSD, OpenBSD in stereo with VFIO, BSD/OS the best candidate for legally tested open source Unix, OpenBGPD adds diversity to the routing server landscape, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release54/" target="_blank" rel="nofollow noopener"&gt;DragonflyBSD 5.4 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;DragonFly version 5.4 brings a new system compiler in GCC 8, improved NUMA support, a large of number network and virtual machine driver updates, and updates to video support. This release is 64-bit only, as with previous releases.
The details of all commits between the 5.2 and 5.4 branches are available in the associated commit messages for 5.4.0rc and 5.4.0.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Big-ticket items&lt;/li&gt;
    &lt;li&gt;Much better support for asymmetric NUMA (Non-Uniform Memory Access) configurations. In particular, both the memory subsystem and the scheduler now understand the Threadripper 2990WX’s architecture. The scheduler will prioritize CPU nodes with direct-attached memory and the memory subsystem will normalize memory queues for CPU nodes without direct-attached memory (which improves cache locality on those CPUs).&lt;/li&gt;
    &lt;li&gt;Incremental performance work. DragonFly as a whole is very SMP friendly. The type of performance work we are doing now mostly revolves around improving fairness for shared-vs-exclusive lock clashes, reducing cache ping-ponging due to non-contending SMP locks (i.e. massive use of shared locks on shared resources), and so forth.&lt;/li&gt;
    &lt;li&gt;Major updates to dports brings us to within a week or two of FreeBSD’s ports as of this writing, in particular major updates to chromium, and making the whole mess work with gcc-8.&lt;/li&gt;
    &lt;li&gt;Major rewriting of the tty clist code and the tty locking code, significantly improving concurrency across multiple ttys and ptys.&lt;/li&gt;
    &lt;li&gt;GCC 8&lt;/li&gt;
    &lt;li&gt;DragonFly now ships with GCC 8.0, and runs as the default compiler. It is also now used for building dports.&lt;/li&gt;
    &lt;li&gt;GCC 4.7.4 and GCC 5.4.1 are still installed. 4.7.4 is our backup compiler, and 5.4.1 is still there to ensure a smooth transition, but should generally not be used. buildworld builds all three by default to ensure maximum compatibility.&lt;/li&gt;
    &lt;li&gt;Many passes through world sources were made to address various warnings and errors the new GCC brought with it.&lt;/li&gt;
    &lt;li&gt;HAMMER2&lt;/li&gt;
    &lt;li&gt;HAMMER2 is recommended as the default root filesystem in non-clustered mode.&lt;/li&gt;
    &lt;li&gt;Clustered support is not yet available.&lt;/li&gt;
    &lt;li&gt;Increased bulkfree cache to reduce the number of iterations required.&lt;/li&gt;
    &lt;li&gt;Fixed numerous bugs.&lt;/li&gt;
    &lt;li&gt;Improved support on low-memory machines.&lt;/li&gt;
    &lt;li&gt;Significant pre-work on the XOP API to help support future networked operations.&lt;/li&gt;
    &lt;li&gt;Details&lt;/li&gt;
    &lt;li&gt;Checksums
&lt;code&gt;MD5 (dfly-x86_64-5.4.0_REL.img) = 7277d7cffc92837c7d1c5dd11a11b98f&lt;/code&gt;
&lt;code&gt;MD5 (dfly-x86_64-5.4.0_REL.iso) = 6da7abf036fe9267479837b3c3078408&lt;/code&gt;
&lt;code&gt;MD5 (dfly-x86_64-5.4.0_REL.img.bz2) = a77a072c864f4b72fd56b4250c983ff1&lt;/code&gt;
&lt;code&gt;MD5 (dfly-x86_64-5.4.0_REL.iso.bz2) = 4dbfec6ccfc1d59c5049455db914d499&lt;/code&gt;
&lt;/li&gt;
    &lt;li&gt;Downloads Links&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;DragonFly BSD is 64-bit only, as announced during the 3.8 release.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;USB: dfly-x86_64-5.4.0_REL.img as bzip2 file&lt;/li&gt;
    &lt;li&gt;ISO: dfly-x86_64-5.4.0_REL.iso as bzip2 file&lt;/li&gt;
    &lt;li&gt;Uncompressed ISO: dfly-x86_64-5.4.0_REL.iso (For use with VPS providers as an install image.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;/p&gt;&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://cryogenix.net/gophernicus.html" target="_blank" rel="nofollow noopener"&gt;Down the Gopher hole with OpenBSD, Gophernicus, and TLS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;In the early 2000s I thought I had seen the worst of the web - Java applets, Macromedia (&amp;gt;Adobe) Flash, animated GIFs, javascript snow that kept you warm in the winter by burning out your CPU, and so on. For a time we learned from these mistakes, and started putting the burden on the server-side - then with improvements in javascript engines we started abusing it again with JSON/AJAX and it all went down hill from there.&lt;/blockquote&gt;

&lt;blockquote&gt;Like cloud computing, blockchains, machine learning and a tonne of other a la mode technologies around today - most users and service providers don’t need websites that consume 1GB of memory processing JS and downloading 50MB of compressed data just to read Alice’s one-page travel blog or Bob’s notes on porting NetBSD to his blood-pressure monitor.&lt;/blockquote&gt;

&lt;blockquote&gt;Before the HTTP web we relied on Prestel/Minitel style systems, BBS systems, and arguably the most accessible of all - Gopher! Gopher was similar to the locally accessed AmigaGuide format, in that it allowed users to search and retrieve documents interactively, with links and cross-references. Its efficiency and distraction-free nature make it attractive to those who are tired of the invasive, clickbait, ad-filled, javascript-laden web2/3.x. But enough complaining and evangelism - here’s how to get your own Gopher Hole!&lt;/blockquote&gt;

&lt;blockquote&gt;Gophernicus is a modern gopher daemon which aims to be secure (although it still uses inetd -_-); it’s even in OpenBSD ports so at least we can rely on it to be reasonably audited.&lt;/blockquote&gt;

&lt;blockquote&gt;If you need a starting point with Gopher, SDF-EU’s wiki has a good article here.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="https://sdfeu.org/w/tutorials:gopher" target="_blank" rel="nofollow noopener"&gt;https://sdfeu.org/w/tutorials:gopher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Finally, if you don’t like gopher(1) - there’s always lynx(1) or NCSA Mosaic!&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="https://cryogenix.net/NCSA_Mosaic_OpenBSD.html" target="_blank" rel="nofollow noopener"&gt;https://cryogenix.net/NCSA_Mosaic_OpenBSD.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;I’ve added TLS support to Gophernicus so you don’t need to use stunnel anymore. The code is ugly and unpolished though so I wouldn’t recommend for production use.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="https://github.com/0x16h/gophernicus" target="_blank" rel="nofollow noopener"&gt;https://github.com/0x16h/gophernicus&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd" target="_blank" rel="nofollow noopener"&gt;https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;/p&gt;&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2018/11/12/vfio" target="_blank" rel="nofollow noopener"&gt;OpenBSD in Stereo with Linux VFIO&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;I use a Huawei Matebook X as my primary OpenBSD laptop and one aspect of its hardware support has always been lacking: audio never played out of the right-side speaker. The speaker did actually work, but only in Windows and only after the Realtek Dolby Atmos audio driver from Huawei was installed. Under OpenBSD and Linux, and even Windows with the default Intel sound driver, audio only ever played out of the left speaker.
Now, after some extensive reverse engineering and debugging with the help of VFIO on Linux, I finally have audio playing out of both speakers on OpenBSD.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;VFIO&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The Linux kernel has functionality called VFIO which enables direct access to a physical device (like a PCI card) from userspace, usually passing it to an emulator like QEMU.
To my surprise, these days, it seems to be primarily by gamers who boot Linux, then use QEMU to run a game in Windows and use VFIO to pass the computer’s GPU device through to Windows.
By using Linux and VFIO, I was able to boot Windows 10 inside of QEMU and pass my laptop’s PCI audio device through to Windows, allowing the Realtek audio drivers to natively control the audio device. Combined with QEMU’s tracing functionality, I was able to get a log of all PCI I/O between Windows and the PCI audio device.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Using VFIO&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;To use VFIO to pass-through a PCI device, it first needs to be stubbed out so the Linux kernel’s default drivers don’t attach to it. GRUB can be configured to instruct the kernel to ignore the PCI audio device (8086:9d71) and explicitly enable the Intel IOMMU driver by adding the following to /etc/default/grub and running update-grub
With the audio device stubbed out, a new VFIO device can be created from it
Then the VFIO device (00:1f.3) can be passed to QEMU
I was using my own build of QEMU for this, due to some custom logging I needed (more on that later), but the default QEMU package should work fine. The events.txt was a file of all VFIO events I wanted logged (which was all of them).
Since I was frequently killing QEMU and restarting it, Windows 10 wanted to go through its unexpected shutdown routine each time (and would sometimes just fail to boot again). To avoid this and to get a consistent set of logs each time, I used qemu-img to take a snapshot of a base image first, then boot QEMU with that snapshot. The snapshot just gets thrown away the next time qemu-img is run and Windows always starts from a consistent state.
QEMU will now log each VFIO event which gets saved to a debug-output file.
With a full log of all PCI I/O activity from Windows, I compared it to the output from OpenBSD and tried to find the magic register writes that enabled the second speaker. After days of combing through the logs and annotating them by looking up hex values in the documentation, diffing runtime register values, and even brute-forcing it by mechanically duplicating all PCI I/O activity in the OpenBSD driver, nothing would activate the right speaker.
One strange thing that I noticed was if I booted Windows 10 in QEMU and it activated the speaker, then booted OpenBSD in QEMU without resetting the PCI device’s power in-between (as a normal system reboot would do), both speakers worked in OpenBSD and the configuration that the HDA controller presented was different, even without any changes in OpenBSD.&lt;/blockquote&gt;

&lt;blockquote&gt;A Primer on Intel HDA
Most modern computers with integrated sound chips use an Intel High Definition Audio (HDA) Controller device, with one or more codecs (like the Realtek ALC269) hanging off of it. These codecs do the actual audio processing and communicate with DACs and ADCs to send digital audio to the connected speakers, or read analog audio from a microphone and convert it to a digital input stream. In my Huawei Matebook X, this is done through a Realtek ALC298 codec.
On OpenBSD, these HDA controllers are supported by the azalia(4) driver, with all of the per-codec details in the lengthy azalia_codec.c file. This file has grown quite large with lots of codec- and machine-specific quirks to route things properly, toggle various GPIO pins, and unmute speakers that are for some reason muted by default.
The azalia driver talks to the HDA controller and sets up various buffers and then walks the list of codecs. Each codec supports a number of widget nodes which can be interconnected in various ways. Some of these nodes can be reconfigured on the fly to do things like turning a microphone port into a headphone port.
The newer Huawei Matebook X Pro released a few months ago is also plagued with this speaker problem, although it has four speakers and only two work by default. A fix is being proposed for the Linux kernel which just reconfigures those widget pins in the Intel HDA driver. Unfortunately no pin reconfiguration is enough to fix my Matebook X with its two speakers.
While reading more documentation on the HDA, I realized there was a lot more activity going on than I was able to see through the PCI tracing.
For speed and efficiency, HDA controllers use a DMA engine to transfer audio streams as well as the commands from the OS driver to the codecs. In the output above, the CORBWP=0; size=256 and RIRBRP=0, size=256 indicate the setup of the CORB (Command Output Ring Buffer) and RIRB (Response Input Ring Buffer) each with 256 entries. The HDA driver allocates a DMA address and then writes it to the two CORBLBASE and CORBUBASE registers, and again for the RIRB.
When the driver wants to send a command to a codec, such as CORB_GET_PARAMETER with a parameter of COP_VOLUME_KNOB_CAPABILITIES, it encodes the codec address, the node index, the command verb, and the parameter, and then writes that value to the CORB ring at the address it set up with the controller at initialization time (CORBLBASE/CORBUBASE) plus the offset of the ring index. Once the command is on the ring, it does a PCI write to the CORBWP register, advancing it by one. This lets the controller know a new command is queued, which it then acts on and writes the response value on the RIRB ring at the same position as the command (but at the RIRB’s DMA address). It then generates an interrupt, telling the driver to read the new RIRBWP value and process the new results.
Since the actual command contents and responses are handled through DMA writes and reads, these important values weren’t showing up in the VFIO PCI trace output that I had gathered. Time to hack QEMU.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Logging DMA Memory Values in QEMU&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Since DMA activity wouldn’t show up through QEMU’s VFIO tracing and I obviously couldn’t get Windows to dump these values like I could in OpenBSD, I could make QEMU recognize the PCI write to the CORBWP register as an indication that a command has just been written to the CORB ring.
My custom hack in QEMU adds some HDA awareness to remember the CORB and RIRB DMA addresses as they get programmed in the controller. Then any time a PCI write to the CORBWP register is done, QEMU fetches the new CORB command from DMA memory, decodes it into the codec address, node address, command, and parameter, and prints it out. When a PCI read of the RIRBWP register is requested, QEMU reads the response and prints the corresponding CORB command that it stored earlier.
With this hack in place, I now had a full log of all CORB commands and RIRB responses sent to and read from the codec:
An early version of this patch left me stumped for a few days because, even after submitting all of the same CORB commands in OpenBSD, the second speaker still didn’t work. It wasn’t until re-reading the HDA spec that I realized the Windows driver was submitting more than one command at a time, writing multiple CORB entries and writing a CORBWP value that was advanced by two. This required turning my CORB/RIRB reading into a for loop, reading each new command and response between the new CORBWP/RIRBWP value and the one previously seen.
Sure enough, the magic commands to enable the second speaker were sent in these periods where it submitted more than one command at a time.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Minimizing the Magic&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The full log of VFIO PCI activity from the Windows driver was over 65,000 lines and contained 3,150 CORB commands, which is a lot to sort through. It took me a couple more days to reduce that down to a small subset that was actually required to activate the second speaker, and that could only be done through trial and error:&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Boot OpenBSD with the full list of CORB commands in the azalia driver&lt;/li&gt;
    &lt;li&gt;Comment out a group of them&lt;/li&gt;
    &lt;li&gt;Compile kernel and install it, halt the QEMU guest&lt;/li&gt;
    &lt;li&gt;Suspend and wake the laptop, resetting PCI power to the audio device to reset the speaker/Dolby initialization and ensure the previous run isn’t influencing the current test (I’m guessing there is an easier to way to reset PCI power than suspending the laptop, but oh well)&lt;/li&gt;
    &lt;li&gt;Start QEMU, boot OpenBSD with the new kernel&lt;/li&gt;
    &lt;li&gt;Play an MP3 with mpg123 which has alternating left- and right-channel audio and listen for both channels to play&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;This required a dozen or so iterations because sometimes I’d comment out too many commands and the right speaker would stop working. Other times the combination of commands would hang the controller and it wouldn’t process any further commands. At one point the combination of commands actually flipped the channels around so the right channel audio was playing through the left speaker.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;The Result&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;After about a week of this routine, I ended up with a list of 662 CORB commands that are needed to get the second speaker working. Based on the number of repeated-but-slightly-different values written with the 0x500 and 0x400 commands, I’m guessing this is some kind of training data and that this is doing the full Dolby/Atmos system initialization, not just turning on the second speaker, but I could be completely wrong.
In any case, the stereo sound from OpenBSD is wonderful now and I can finally stop downmixing everything to mono to play from the left speaker. In case you ever need to do this, sndiod can be run with -c 0:0 to reduce the channels to one.
Due to the massive size of the code needed for this quirk, I’m not sure if I’ll be committing it upstream in OpenBSD or just saving it for my own tree. But at least now the hardware support chart for my Matebook is all yeses for the things I care about.
I’ve also updated the Linux bug report that I opened before venturing down this path, hoping one of the maintainers of that HDA code that works at Intel or Realtek knew of a solution I could just port to OpenBSD. I’m curious to see what they’ll do with it.&lt;/blockquote&gt;

&lt;p&gt;&lt;/p&gt;&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://virtuallyfun.com/wordpress/2018/11/26/why-bsd-os-is-the-best-candidate-for-being-the-only-tested-legally-open-unix/" target="_blank" rel="nofollow noopener"&gt;Why BSD/OS is the best candidate for being the only tested legally open UNIX&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The UNIX® system is an old operating system, possibly older than many of the readers of this post. However, despite its age, it still has not been open sourced completely. In this post, I will try to detail which parts of which UNIX systems have not yet been open sourced. I will focus on the legal situation in Germany in particular, taking it representative of European law in general – albeit that is a stretch, knowing the diversity of European jurisdictions. Please note that familiarity with basic terms of copyright law is assumed.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Ancient UNIX&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The term “Ancient UNIX” refers to the versions of UNIX up to and including Seventh Edition UNIX (1979) including the 32V port to the VAX. Ancient UNIX was created at Bell Laboratories, a subsidiary of AT&amp;amp;T at the time. It was later transferred of the AT&amp;amp;T UNIX Support Group, then AT&amp;amp;T Information Systems and finally the AT&amp;amp;T subsidiary UNIX System Laboratories, Inc. (USL). The legal situation differs between the United States of America and Germany.
In a ruling as part of the UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc. (USL v. BSDi) case, a U.S. court found that USL had no copyright to the Seventh Edition UNIX system and 32V – arguably, by extension, all earlier versions of Ancient UNIX as well – because USL/AT&amp;amp;T had failed to affix copyright notices and could not demonstrate a trade secret. Due to the obsessive tendency of U.S. courts to consider themselves bound to precedents (cf. the infamous Pierson v. Post case), it can be reasonably expected that this ruling would be honored and applied in subsequent cases. Thus under U.S. law, Ancient UNIX can be safely assumed to belong in the public domain.
The situation differs in Germany. Unlike the U.S., copyright never needed registration in order to exist. Computer programs are works in the sense of the German 1965 Act on Copyright and Related Rights (Copyright Act, henceforth CopyA) as per CopyA § 2(1) no. 1. Even prior to the amendment of CopyA § 2(1) to include computer programs, computer programs have been recognized as copyrightable works by the German Supreme Court (BGHZ 112, 264 Betriebssystem, no. 19); CopyA § 137d(1) rightly clarifies that. The copyright holder at 1979 would still have been USL via Bell Labs and AT&amp;amp;T. Copyright of computer programs is transferred to the employer upon creation under CopyA § 69(1).
Note that this does not affect expiry (Daniel Kaboth/Benjamin Spies, commentary on CopyA §§ 69a‒69g, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), Urheberrecht: UrhG, KUG, VerlG, VGG, Kommentar, 4th ed., C. H. Beck, 2018, no. 16 ad CopyA § 69b; cf. Bundestag-Drucksache [BT-Drs.] 12/4022, p. 10). Expiry occurs 70 years after the death of the (co-)author that died most recently as per CopyA § 65(1) and 64; this has been the case since at least the 1960s, meaning there is no way for copyright to have expired already (old version, as per Bundesgesetzblatt Part I No. 51 of September 16, 1965, pp. 1273‒1294).
In Germany, private international law applies the so-called “Territorialitätsprinzip” for intellectual property rights. This means that the effect of an intellectual property right is limited to the territory of a state (Anne Lauber-Rönsberg, KollisionsR, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), ibid., pp. 2241 et seqq., no. 4). Additionally, the “Schutzlandprinzip” applies; this means that protection of intellectual property follows the lex loci protectionis, i.e. the law of the country for which protection is sought (BGH GRUR 2015, 264 HiHotel II, no. 25; BGH GRUR 2003, 328 Sender Felsberg, no. 24), albeit this is criticized in parts of doctrine (Lauber-Rönsberg, ibid., no. 10). The “Schutzlandprinzip” requires that the existence of an intellectual property right be verified as well (BGH ZUM 2016, 522 Wagenfeld-Leuchte II, no. 19).
Thus, in Germany, copyright on Ancient UNIX is still alive and well. Who has it, though? A ruling by the U.S. Court of Appeals, Tenth Circuit, in the case of The SCO Group, Inc. v. Novell, Inc. (SCO v. Novell) in the U.S. made clear that Novell owns the rights to System V – thus presumably UNIX System III as well – and Ancient UNIX, though SCO acquired enough rights to develop UnixWare/OpenServer (Ruling 10-4122 [D.C. No. 2:04-CV-00139-TS], pp. 19 et seq.). Novell itself was purchased by the Attachmate Group, which was in turn acquired by the COBOL vendor Micro Focus. Therefore, the rights to SVRX and – outside the U.S. – are with Micro Focus right now. If all you care about is the U.S., you can stop reading about Ancient UNIX here.
So how does the Caldera license factor into all of this? For some context, the license was issued January 23, 2002 and covers Ancient UNIX (V1 through V7 including 32V), specifically excluding System III and System V. Caldera, Inc. was founded in 1994. The Santa Cruz Operation, Inc. sold its rights to UNIX to Caldera in 2001, renamed itself to Tarantella Inc. and Caldera renamed itself The SCO Group. Nemo plus iuris ad alium transferre potest quam ipse habet; no one can transfer more rights than he has. The question now becomes whether Caldera had the rights to issue the Caldera license.
I’ve noted it above but it needs restating: Foreign decisions are not necessarily accepted in Germany due to the “Territorialitätsprinzip” and “Schutzlandprinzip” – however, I will be citing a U.S. ruling for its assessment of the facts for the sake of simplicity. As per ruling 10-4122, “The district court found the parties intended for SCO to serve as Novell’s agent with respect to the old SVRX licenses and the only portion of the UNIX business transferred outright under the APA [asset purchase agreement] was the ability to exploit and further develop the newer UnixWare system. SCO was able to protect that business because it was able to copyright its own improvements to the system. The only reason to protect the earlier UNIX code would be to protect the existing SVRX licenses, and the court concluded Novell retained ultimate control over that portion of the business under the APA.” The relevant agreements consist of multiple pieces:
the base Asset Purchase Agreement “APA” (Part I)
the base Asset Purchase Agreement “APA” (Part II)
the Operating Agremeent and Amendment 1 to the APA
the Amendment 2 to the APA
The APA dates September 19, 1995, from before the Caldera license. Caldera cannot possibly have acquired rights that The Santa Cruz Operation, Inc. itself never had. Furthermore, I’ve failed to find any mention of Ancient UNIX; all that is transferred is rights to SVRX. Overall, I believe that the U.S. courts’ assesment of the facts represents the situation accurately. Thus for all intents and purposes, UNIX up to and including System V remained with Novell/Attachmate/Micro Focus. Caldera therefore never had any rights to Ancient UNIX, which means it never had the rights to issue the Caldera license. The Caldera license is null and void – in the U.S. because the copyright has been lost due to formalities, everywhere else because Caldera never had the rights to issue it.
The first step to truly freeing UNIX would this be to get Micro Focus to re-issue the Caldera license for Ancient UNIX, ideally it would now also include System III and System V.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;BSD/OS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Another operating system near UNIX is of interest. The USL v. BSDi lawsuit includes two parties: USL, which we have seen above, and Berkeley Software Design, Inc. BSDi sold BSD/386 (later BSD/OS), which was a derivative of 4.4BSD. The software parts of the BSDi company were acquired by Wind River Systems, whereas the hardware parts went to iXsystems. Copyright is not disputed there, though Wind River Systems ceased selling BSD/OS products 15 years ago, in 2003. In addition, Wind River System let their trademark on BSD expire, though this is without consequence for copyright.
BSD/OS is notable in the sense that it powered much of early internet infrastructure. Traces of its legacy can still be found on Richard Stevens’ FAQ.
To truly make UNIX history free, BSD/OS would arguably also need to see a source code release. BSD/OS at least in its earliest releases under BSDi would ship with source code, though under a non-free license, far from BSD or even GPL licensing.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;System V&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The fate of System V as a whole is difficult to determine. Various licenses have been granted to a number of vendors (Dell UNIX comes to mind; HP for HP-UX, IBM for AIX, SGI UNIX, etc.). Sun released OpenSolaris – notoriously, Oracle closed the source to Solaris again after its release –, which is a System V Release 4 descendant. However, this means nothing for the copyright or licensing status of System V itself. Presumably, the rights with System V still remain with Novell (now Micro Focus): SCO managed to sublicense rights to develop and sell UnixWare/OpenServer, themselves System V/III descendants, to unXis, Inc. (now known as Xinuos, Inc.), which implies that Xinuos is not the copyright holder of System V.
Obviously, to free UNIX, System V and its entire family of descendants would also need to be open sourced. However, I expect tremendous resistance on part of all the companies mentioned. As noted in the “Ancient UNIX” section, Micro Focus alone would probably be sufficient to release System V, though this would mean nothing for the other commercial System V derivatives.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Newer Research UNIX&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The fate of Bell Labs would be a different one; it would go on to be purchased by Lucent, now part of Nokia. After commercial UNIX got separated out to USL, Research UNIX would continue to exist inside of Bell Labs. Research UNIX V8, V9 and V10 were not quite released by Alcatel-Lucent USA Inc. and Nokia in 2017.
However, this is merely a notice that the companies involved will not assert their copyrights only with respect to any non-commercial usage of the code. It is still not possible, over 30 years later, to freely use the V8 code.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Conclusion
In the U.S., Ancient UNIX is freely available. People located everywhere else, however, are unable to legally obtain UNIX code for any of the systems mentioned above. The exception being BSD/OS, assuming a purchase of a legitimate copy of the source code CD. This is deeply unsatisfying and I implore all involved companies to consider open sourcing (preferably under a BSD-style license) their code older than a decade, if nothing else, then at least for the sake of historical purposes. I would like to encourage everybody reading this to consider reaching out to Micro Focus and Wind River Systems about System V and BSD/OS, respectively. Perhaps the masses can change their minds.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;A small note about patents: Some technologies used in newer iterations of the UNIX system (in particular the System V derivatives) may be encumbered with software patents. An open source license will not help against patent infringement claims. However, the patents on anything used in the historical operating systems will certainly have expired by now. In addition, European readers can ignore this entirely – software patents just aren’t a thing.&lt;/blockquote&gt;

&lt;p&gt;&lt;/p&gt;&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://labs.ripe.net/Members/claudio_jeker/openbgpd-adding-diversity-to-route-server-landscape" target="_blank" rel="nofollow noopener"&gt;OpenBGPD - Adding Diversity to the Route Server Landscape&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;As of last year, there was effectively only a single solution in the Route Server vendor market: the BIRD Internet routing daemon. &lt;a href="http://NIC.CZ" target="_blank" rel="nofollow noopener"&gt;NIC.CZ&lt;/a&gt; (the organisation developing BIRD) has done fantastic work on maintaining their BGP-4 implementation, however, it’s not healthy to have virtually every Internet Exchange Point (IXP) in the RIPE NCC service region depend on a single open source project. The current situation can be compared to the state of the DNS root nameservers back in 2002 - their dependence on the BIND nameserver daemon and the resulting development of NSD as an alternative by NLnet, in cooperation with the RIPE NCC.
OpenBGPD used to be one of the most popular Route Server implementations until the early 2010s. OpenBGPD’s main problem was that its performance couldn’t keep up with the Internet’s growth, so it lost market share. An analysis by Job Snijders suggested that a modernised OpenBGPD distribution would be a most viable option to regain diversity on the Route Server level.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Missing features in OpenBGPD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The following main missing features were identified in OpenBGPD:&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Performance&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;In previous versions of OpenBGPD, the filtering performance didn’t allow proper filtering of all EBGP sessions. Current best practice at IXP Route Servers is to carefully evaluate and validate of all routes learned from EBGP peers. The OpenBGPD ruleset required to do correct filtering (in many deployment scenarios) was simply too lengthy - and negatively impacted service performance during configuration reloads. While filtering performance is the biggest bottleneck, general improvements to the Routing Information Base were also made to improve scalability. IXP Route Servers with a few hundred peering sessions are commonplace and adding new sessions shouldn’t impact the Route Servers’ service to other peers. We found that performance was the most pressing issue that needed to be tackled.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Lack of RPKI Origin Validation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;As we’ve seen, Internet operators are moving to adopt RPKI based BGP Origin Validation. While it was theoretically possible to emulate RFC 6811-style Origin Validation in previous versions of OpenBGPD, the required configuration wasn’t optimised for performance and wasn’t user friendly. We believe that BGP Origin Validation should be as easy as possible - this requires BGP-4 vendors to implement native, optimised routines for Origin Validation. Of course, enabling Origin Validation shouldn’t have an impact on performance either when processing BGP updates or when updating the Route Origin Authorisation (ROA) table itself.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Portability&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;OpenBGPD is an integral part of OpenBSD, but IXPs may prefer to run their services infrastructure on an operating system of their choice. Making sure that there’s a portable OpenBGPD version which follows the OpenBSD project release cycle will give IXPs this option.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Development steps&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;By addressing the issues mentioned above, we could bring back OpenBGPD as a viable Route Server implementation.
Since I was one of the core OpenBGPD developers, I was asked if I wanted to pick up this project again. Thanks to the funding from the RIPE NCC Project Fund, this was possible. Starting in June 2018, I worked full time on this important community project. Over the last few months, many of the problems are already addressed and are now part of the OpenBSD 6.4 release. So far, 154 commits were made to OpenBGPD during the 6.4 development cycle - around 8% of all commits ever to OpenBGPD! This shows that due to funding and dedicated resources, a lot of work could be pushed into the latest release of OpenBGPD.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;OpenBGPD 6.4&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The OpenBGPD version, as part of OpenBSD 6.4 release, demonstrates great progress. Even though there have been many changes to the core of OpenBGPD, the released version is as solid and reliable as previous releases and the many bug fixes and improvements make this the best OpenBGPD release so far. The changes in the filter language allow users to write more efficient rulesets while the introduction of RPKI origination validation fixes an important missing feature. For IXPs, OpenBGPD now is an alternative again. There are still open issues, but the gap is closing!&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Feature highlights&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The following changes should be highlighted:&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Introduction of background soft-reconfiguration on config reload. Running the soft-reconfiguration task in the background allows for new updates and withdraws to be processed at the same time. This improves convergence time - one of the key metrics for Route Servers.&lt;/li&gt;
    &lt;li&gt;BGP Origin Validation when a roa-set is configured Every EBGP route announcement is validated against the locally configured VRP table entries. Depending on the validation process’s outcome, the validation state is set to valid, invalid or not found. The filter language has been extended to allow checking for the origin validation state, and thanks to this, it is possible to deny invalid prefixes or regard valid prefixes different to the ones that aren’t found. The roa-set table is read from the configuration file and updated during configuration reloads. On production systems reloading the roa-set and applying it to all prefixes is done in a couple of seconds.&lt;/li&gt;
    &lt;li&gt;Fast prefix-set lookups In OpenBSD 6.3 prefix-sets got introduced in OpenBGPD. A prefix-set combines many prefix lookups into a single filter rule. The original implementation wasn’t optimised but now a fast trie lookup is used. Thanks to this, large IRR DB prefix tables can now be implemented efficiently.&lt;/li&gt;
    &lt;li&gt;Introduction of as-sets Similar to prefix-sets, as-sets help group many AS numbers into a single lookup. Thanks to this, large IRR DB origin AS tables can be implemented efficiently.
Introduction of origin-sets&lt;/li&gt;
    &lt;li&gt;Looking at the configurations of Route Servers doing full filtering, it was noticed that a common lookup was binding a prefix to an origin AS - similar to how a roa-set is used for RPKI. These origin-set tables are used to extend the IRR prefix lookup and generated from alternative sources.&lt;/li&gt;
    &lt;li&gt;Improving third party tools&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Users can only benefit from the changes introduced in OpenBGPD 6.4 when the surrounding 3rd party tools are adjusted accordingly. Two opensource projects such as bgpq3 and arouteserver are frequently used by network operators and IXPs to generate BGP configurations. Thanks to our contributions to those projects, we were able to get them ready for all the new features in OpenBGPD.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;bgpq3 was extended to create as-set and prefix-set tables based on IRR DB entries. This is replacing the old way of doing the same with a large amount of filter rules. Thanks to the quick response from the bgpq3 maintainer, it was possible to ship OpenBSD 6.4 with a bgpq3 package that includes all the new features.&lt;/li&gt;
    &lt;li&gt;arouteserver was adjusted to implement RPKI roa-set, as-set, prefix-set, and origin-set to generate a much better-performing configurations for the 6.4 version. With the v0.20.0 release of arouteserver, IXPs are able to generate an OpenBGPD configuration which is a ton faster but also implements the new functionalities. Looking at YYCIX (the resident IXP in Calgary, Canada) the ruleset generated by arouteserver was reduced from 370,000 rules to well under 6,000 rules. This resulted in the initial convergence time dropping from over 1 hour to less than 2 minutes, and subsequent configuration reloads are hitless and no longer noticeable.&lt;/li&gt;
    &lt;li&gt;What still needs to be done&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;A sizeable chunk of work still left on the table is the rework of the RIB data structures in OpenBGPD - these haven’t been changed since the initial design of OpenBGPD in 2003. There’s currently ongoing work (in small steps, to avoid jeopardising the stability of OpenBGPD) to modernise these data-structures. The goal is to provide better decoupling of the filter step from storing RIB database changes, to pave the way to multi-threaded operations at a later point.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Looking forward&lt;/li&gt;
    &lt;li&gt;Job Snijders oversaw this year’s fundraising and project management, he adds:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;It’s been incredibly productive to create an environment where a core developer is allowed to work full time on the OpenBGPD code base. However, it’s important to note there still is room for a number of new features to help improve its operational capabilities (such as BMP, RFC 7313, ADD_PATH, etc). It’d be beneficial to the Internet community at large if we can extend Claudio Jeker’s involvement for another year. Open source software doesn’t grow on trees! Strategic investments are the only way to keep OpenBGPD’s roadmap aligned with Internet growth and operator requirements.&lt;/blockquote&gt;

&lt;p&gt;&lt;/p&gt;&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2018-November/718130.html" target="_blank" rel="nofollow noopener"&gt;DragonFly - git: annotated tag v5.5.0 created&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Qvj7Mkr13d8" target="_blank" rel="nofollow noopener"&gt;Torchlight 2 on NetBSD&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.usenix.org/system/files/login/articles/login_dec14_03_dawidek.pdf" target="_blank" rel="nofollow noopener"&gt;Older, but still good USENIX Login Article on Capsicum&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://github.com/myfreeweb/capsicumizer" target="_blank" rel="nofollow noopener"&gt;The Super Capsicumizer 9000&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.noc-ps.com/" target="_blank" rel="nofollow noopener"&gt;Dedicated and Virtual Server PXE provisioning tool&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://cirrus-ci.org/guide/FreeBSD/" target="_blank" rel="nofollow noopener"&gt;Cirrus CI have announced FreeBSD support&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://twitter.com/astr0baby/status/1065353771952336897" target="_blank" rel="nofollow noopener"&gt;NetBSD PineBook Gameplay&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.bsdcan.org/2019/papers.php" target="_blank" rel="nofollow noopener"&gt;BSDCan 2019 CfP is out&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Allan’s first ZFS array, Zulu, turned 7 years old on Nov 29th&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;/p&gt;&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
    &lt;li&gt;Malcom - &lt;a href="http://dpaste.com/35TNNX4" target="_blank" rel="nofollow noopener"&gt;Installing Drivers in Development&lt;/a&gt;
&lt;/li&gt;
    &lt;li&gt;Samir - &lt;a href="http://dpaste.com/2RCB37Y#wrap" target="_blank" rel="nofollow noopener"&gt;Introduction to ZFS&lt;/a&gt;
&lt;/li&gt;
    &lt;li&gt;Newnix - &lt;a href="http://dpaste.com/01YJ4EB#wrap" target="_blank" rel="nofollow noopener"&gt;Drive Failures&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;/p&gt;&lt;hr&gt;

&lt;ul&gt;
    &lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;/p&gt;&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Gopher, Linux VFIO, OpenBGPD, Capsicum, Pinebook</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonflyBSD 5.4 has been released, down the Gopher hole with OpenBSD, OpenBSD in stereo with VFIO, BSD/OS the best candidate for legally tested open source Unix, OpenBGPD adds diversity to the routing server landscape, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release54/">DragonflyBSD 5.4 released</a></h3>

<blockquote>DragonFly version 5.4 brings a new system compiler in GCC 8, improved NUMA support, a large of number network and virtual machine driver updates, and updates to video support. This release is 64-bit only, as with previous releases.
The details of all commits between the 5.2 and 5.4 branches are available in the associated commit messages for 5.4.0rc and 5.4.0.</blockquote>

<ul>
    <li>Big-ticket items</li>
    <li>Much better support for asymmetric NUMA (Non-Uniform Memory Access) configurations. In particular, both the memory subsystem and the scheduler now understand the Threadripper 2990WX’s architecture. The scheduler will prioritize CPU nodes with direct-attached memory and the memory subsystem will normalize memory queues for CPU nodes without direct-attached memory (which improves cache locality on those CPUs).</li>
    <li>Incremental performance work. DragonFly as a whole is very SMP friendly. The type of performance work we are doing now mostly revolves around improving fairness for shared-vs-exclusive lock clashes, reducing cache ping-ponging due to non-contending SMP locks (i.e. massive use of shared locks on shared resources), and so forth.</li>
    <li>Major updates to dports brings us to within a week or two of FreeBSD’s ports as of this writing, in particular major updates to chromium, and making the whole mess work with gcc-8.</li>
    <li>Major rewriting of the tty clist code and the tty locking code, significantly improving concurrency across multiple ttys and ptys.</li>
    <li>GCC 8</li>
    <li>DragonFly now ships with GCC 8.0, and runs as the default compiler. It is also now used for building dports.</li>
    <li>GCC 4.7.4 and GCC 5.4.1 are still installed. 4.7.4 is our backup compiler, and 5.4.1 is still there to ensure a smooth transition, but should generally not be used. buildworld builds all three by default to ensure maximum compatibility.</li>
    <li>Many passes through world sources were made to address various warnings and errors the new GCC brought with it.</li>
    <li>HAMMER2</li>
    <li>HAMMER2 is recommended as the default root filesystem in non-clustered mode.</li>
    <li>Clustered support is not yet available.</li>
    <li>Increased bulkfree cache to reduce the number of iterations required.</li>
    <li>Fixed numerous bugs.</li>
    <li>Improved support on low-memory machines.</li>
    <li>Significant pre-work on the XOP API to help support future networked operations.</li>
    <li>Details</li>
    <li>Checksums
<code>MD5 (dfly-x86_64-5.4.0_REL.img) = 7277d7cffc92837c7d1c5dd11a11b98f</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.iso) = 6da7abf036fe9267479837b3c3078408</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.img.bz2) = a77a072c864f4b72fd56b4250c983ff1</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.iso.bz2) = 4dbfec6ccfc1d59c5049455db914d499</code></li>
    <li>Downloads Links</li>
</ul>

<blockquote>DragonFly BSD is 64-bit only, as announced during the 3.8 release.</blockquote>

<ul>
    <li>USB: dfly-x86_64-5.4.0_REL.img as bzip2 file</li>
    <li>ISO: dfly-x86_64-5.4.0_REL.iso as bzip2 file</li>
    <li>Uncompressed ISO: dfly-x86_64-5.4.0_REL.iso (For use with VPS providers as an install image.)</li>
</ul>

<p><hr /></p>

<h3><a href="https://cryogenix.net/gophernicus.html">Down the Gopher hole with OpenBSD, Gophernicus, and TLS</a></h3>

<blockquote>In the early 2000s I thought I had seen the worst of the web - Java applets, Macromedia (&gt;Adobe) Flash, animated GIFs, javascript snow that kept you warm in the winter by burning out your CPU, and so on. For a time we learned from these mistakes, and started putting the burden on the server-side - then with improvements in javascript engines we started abusing it again with JSON/AJAX and it all went down hill from there.</blockquote>

<blockquote>Like cloud computing, blockchains, machine learning and a tonne of other a la mode technologies around today - most users and service providers don’t need websites that consume 1GB of memory processing JS and downloading 50MB of compressed data just to read Alice’s one-page travel blog or Bob’s notes on porting NetBSD to his blood-pressure monitor.</blockquote>

<blockquote>Before the HTTP web we relied on Prestel/Minitel style systems, BBS systems, and arguably the most accessible of all - Gopher! Gopher was similar to the locally accessed AmigaGuide format, in that it allowed users to search and retrieve documents interactively, with links and cross-references. Its efficiency and distraction-free nature make it attractive to those who are tired of the invasive, clickbait, ad-filled, javascript-laden web2/3.x. But enough complaining and evangelism - here’s how to get your own Gopher Hole!</blockquote>

<blockquote>Gophernicus is a modern gopher daemon which aims to be secure (although it still uses inetd -_-); it’s even in OpenBSD ports so at least we can rely on it to be reasonably audited.</blockquote>

<blockquote>If you need a starting point with Gopher, SDF-EU’s wiki has a good article here.</blockquote>

<ul>
    <li><a href="https://sdfeu.org/w/tutorials:gopher">https://sdfeu.org/w/tutorials:gopher</a></li>
</ul>

<blockquote>Finally, if you don’t like gopher(1) - there’s always lynx(1) or NCSA Mosaic!</blockquote>

<ul>
    <li><a href="https://cryogenix.net/NCSA_Mosaic_OpenBSD.html">https://cryogenix.net/NCSA_Mosaic_OpenBSD.html</a></li>
</ul>

<blockquote>I’ve added TLS support to Gophernicus so you don’t need to use stunnel anymore. The code is ugly and unpolished though so I wouldn’t recommend for production use.</blockquote>

<ul>
    <li><a href="https://github.com/0x16h/gophernicus">https://github.com/0x16h/gophernicus</a></li>
    <li><a href="https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd">https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd</a></li>
</ul>

<p><hr /></p>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2018/11/12/vfio">OpenBSD in Stereo with Linux VFIO</a></h3>

<blockquote>I use a Huawei Matebook X as my primary OpenBSD laptop and one aspect of its hardware support has always been lacking: audio never played out of the right-side speaker. The speaker did actually work, but only in Windows and only after the Realtek Dolby Atmos audio driver from Huawei was installed. Under OpenBSD and Linux, and even Windows with the default Intel sound driver, audio only ever played out of the left speaker.
Now, after some extensive reverse engineering and debugging with the help of VFIO on Linux, I finally have audio playing out of both speakers on OpenBSD.</blockquote>

<ul>
    <li>VFIO</li>
</ul>

<blockquote>The Linux kernel has functionality called VFIO which enables direct access to a physical device (like a PCI card) from userspace, usually passing it to an emulator like QEMU.
To my surprise, these days, it seems to be primarily by gamers who boot Linux, then use QEMU to run a game in Windows and use VFIO to pass the computer’s GPU device through to Windows.
By using Linux and VFIO, I was able to boot Windows 10 inside of QEMU and pass my laptop’s PCI audio device through to Windows, allowing the Realtek audio drivers to natively control the audio device. Combined with QEMU’s tracing functionality, I was able to get a log of all PCI I/O between Windows and the PCI audio device.</blockquote>

<ul>
    <li>Using VFIO</li>
</ul>

<blockquote>To use VFIO to pass-through a PCI device, it first needs to be stubbed out so the Linux kernel’s default drivers don’t attach to it. GRUB can be configured to instruct the kernel to ignore the PCI audio device (8086:9d71) and explicitly enable the Intel IOMMU driver by adding the following to /etc/default/grub and running update-grub
With the audio device stubbed out, a new VFIO device can be created from it
Then the VFIO device (00:1f.3) can be passed to QEMU
I was using my own build of QEMU for this, due to some custom logging I needed (more on that later), but the default QEMU package should work fine. The events.txt was a file of all VFIO events I wanted logged (which was all of them).
Since I was frequently killing QEMU and restarting it, Windows 10 wanted to go through its unexpected shutdown routine each time (and would sometimes just fail to boot again). To avoid this and to get a consistent set of logs each time, I used qemu-img to take a snapshot of a base image first, then boot QEMU with that snapshot. The snapshot just gets thrown away the next time qemu-img is run and Windows always starts from a consistent state.
QEMU will now log each VFIO event which gets saved to a debug-output file.
With a full log of all PCI I/O activity from Windows, I compared it to the output from OpenBSD and tried to find the magic register writes that enabled the second speaker. After days of combing through the logs and annotating them by looking up hex values in the documentation, diffing runtime register values, and even brute-forcing it by mechanically duplicating all PCI I/O activity in the OpenBSD driver, nothing would activate the right speaker.
One strange thing that I noticed was if I booted Windows 10 in QEMU and it activated the speaker, then booted OpenBSD in QEMU without resetting the PCI device’s power in-between (as a normal system reboot would do), both speakers worked in OpenBSD and the configuration that the HDA controller presented was different, even without any changes in OpenBSD.</blockquote>

<blockquote>A Primer on Intel HDA
Most modern computers with integrated sound chips use an Intel High Definition Audio (HDA) Controller device, with one or more codecs (like the Realtek ALC269) hanging off of it. These codecs do the actual audio processing and communicate with DACs and ADCs to send digital audio to the connected speakers, or read analog audio from a microphone and convert it to a digital input stream. In my Huawei Matebook X, this is done through a Realtek ALC298 codec.
On OpenBSD, these HDA controllers are supported by the azalia(4) driver, with all of the per-codec details in the lengthy azalia_codec.c file. This file has grown quite large with lots of codec- and machine-specific quirks to route things properly, toggle various GPIO pins, and unmute speakers that are for some reason muted by default.
The azalia driver talks to the HDA controller and sets up various buffers and then walks the list of codecs. Each codec supports a number of widget nodes which can be interconnected in various ways. Some of these nodes can be reconfigured on the fly to do things like turning a microphone port into a headphone port.
The newer Huawei Matebook X Pro released a few months ago is also plagued with this speaker problem, although it has four speakers and only two work by default. A fix is being proposed for the Linux kernel which just reconfigures those widget pins in the Intel HDA driver. Unfortunately no pin reconfiguration is enough to fix my Matebook X with its two speakers.
While reading more documentation on the HDA, I realized there was a lot more activity going on than I was able to see through the PCI tracing.
For speed and efficiency, HDA controllers use a DMA engine to transfer audio streams as well as the commands from the OS driver to the codecs. In the output above, the CORBWP=0; size=256 and RIRBRP=0, size=256 indicate the setup of the CORB (Command Output Ring Buffer) and RIRB (Response Input Ring Buffer) each with 256 entries. The HDA driver allocates a DMA address and then writes it to the two CORBLBASE and CORBUBASE registers, and again for the RIRB.
When the driver wants to send a command to a codec, such as CORB_GET_PARAMETER with a parameter of COP_VOLUME_KNOB_CAPABILITIES, it encodes the codec address, the node index, the command verb, and the parameter, and then writes that value to the CORB ring at the address it set up with the controller at initialization time (CORBLBASE/CORBUBASE) plus the offset of the ring index. Once the command is on the ring, it does a PCI write to the CORBWP register, advancing it by one. This lets the controller know a new command is queued, which it then acts on and writes the response value on the RIRB ring at the same position as the command (but at the RIRB’s DMA address). It then generates an interrupt, telling the driver to read the new RIRBWP value and process the new results.
Since the actual command contents and responses are handled through DMA writes and reads, these important values weren’t showing up in the VFIO PCI trace output that I had gathered. Time to hack QEMU.</blockquote>

<ul>
    <li>Logging DMA Memory Values in QEMU</li>
</ul>

<blockquote>Since DMA activity wouldn’t show up through QEMU’s VFIO tracing and I obviously couldn’t get Windows to dump these values like I could in OpenBSD, I could make QEMU recognize the PCI write to the CORBWP register as an indication that a command has just been written to the CORB ring.
My custom hack in QEMU adds some HDA awareness to remember the CORB and RIRB DMA addresses as they get programmed in the controller. Then any time a PCI write to the CORBWP register is done, QEMU fetches the new CORB command from DMA memory, decodes it into the codec address, node address, command, and parameter, and prints it out. When a PCI read of the RIRBWP register is requested, QEMU reads the response and prints the corresponding CORB command that it stored earlier.
With this hack in place, I now had a full log of all CORB commands and RIRB responses sent to and read from the codec:
An early version of this patch left me stumped for a few days because, even after submitting all of the same CORB commands in OpenBSD, the second speaker still didn’t work. It wasn’t until re-reading the HDA spec that I realized the Windows driver was submitting more than one command at a time, writing multiple CORB entries and writing a CORBWP value that was advanced by two. This required turning my CORB/RIRB reading into a for loop, reading each new command and response between the new CORBWP/RIRBWP value and the one previously seen.
Sure enough, the magic commands to enable the second speaker were sent in these periods where it submitted more than one command at a time.</blockquote>

<ul>
    <li>Minimizing the Magic</li>
</ul>

<blockquote>The full log of VFIO PCI activity from the Windows driver was over 65,000 lines and contained 3,150 CORB commands, which is a lot to sort through. It took me a couple more days to reduce that down to a small subset that was actually required to activate the second speaker, and that could only be done through trial and error:</blockquote>

<ul>
    <li>Boot OpenBSD with the full list of CORB commands in the azalia driver</li>
    <li>Comment out a group of them</li>
    <li>Compile kernel and install it, halt the QEMU guest</li>
    <li>Suspend and wake the laptop, resetting PCI power to the audio device to reset the speaker/Dolby initialization and ensure the previous run isn’t influencing the current test (I’m guessing there is an easier to way to reset PCI power than suspending the laptop, but oh well)</li>
    <li>Start QEMU, boot OpenBSD with the new kernel</li>
    <li>Play an MP3 with mpg123 which has alternating left- and right-channel audio and listen for both channels to play</li>
</ul>

<blockquote>This required a dozen or so iterations because sometimes I’d comment out too many commands and the right speaker would stop working. Other times the combination of commands would hang the controller and it wouldn’t process any further commands. At one point the combination of commands actually flipped the channels around so the right channel audio was playing through the left speaker.</blockquote>

<ul>
    <li>The Result</li>
</ul>

<blockquote>After about a week of this routine, I ended up with a list of 662 CORB commands that are needed to get the second speaker working. Based on the number of repeated-but-slightly-different values written with the 0x500 and 0x400 commands, I’m guessing this is some kind of training data and that this is doing the full Dolby/Atmos system initialization, not just turning on the second speaker, but I could be completely wrong.
In any case, the stereo sound from OpenBSD is wonderful now and I can finally stop downmixing everything to mono to play from the left speaker. In case you ever need to do this, sndiod can be run with -c 0:0 to reduce the channels to one.
Due to the massive size of the code needed for this quirk, I’m not sure if I’ll be committing it upstream in OpenBSD or just saving it for my own tree. But at least now the hardware support chart for my Matebook is all yeses for the things I care about.
I’ve also updated the Linux bug report that I opened before venturing down this path, hoping one of the maintainers of that HDA code that works at Intel or Realtek knew of a solution I could just port to OpenBSD. I’m curious to see what they’ll do with it.</blockquote>

<p><hr /></p>

<h3><a href="https://virtuallyfun.com/wordpress/2018/11/26/why-bsd-os-is-the-best-candidate-for-being-the-only-tested-legally-open-unix/">Why BSD/OS is the best candidate for being the only tested legally open UNIX</a></h3>

<ul>
    <li>Introduction</li>
</ul>

<blockquote>The UNIX® system is an old operating system, possibly older than many of the readers of this post. However, despite its age, it still has not been open sourced completely. In this post, I will try to detail which parts of which UNIX systems have not yet been open sourced. I will focus on the legal situation in Germany in particular, taking it representative of European law in general – albeit that is a stretch, knowing the diversity of European jurisdictions. Please note that familiarity with basic terms of copyright law is assumed.</blockquote>

<ul>
    <li>Ancient UNIX</li>
</ul>

<blockquote>The term “Ancient UNIX” refers to the versions of UNIX up to and including Seventh Edition UNIX (1979) including the 32V port to the VAX. Ancient UNIX was created at Bell Laboratories, a subsidiary of AT&amp;T at the time. It was later transferred of the AT&amp;T UNIX Support Group, then AT&amp;T Information Systems and finally the AT&amp;T subsidiary UNIX System Laboratories, Inc. (USL). The legal situation differs between the United States of America and Germany.
In a ruling as part of the UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc. (USL v. BSDi) case, a U.S. court found that USL had no copyright to the Seventh Edition UNIX system and 32V – arguably, by extension, all earlier versions of Ancient UNIX as well – because USL/AT&amp;T had failed to affix copyright notices and could not demonstrate a trade secret. Due to the obsessive tendency of U.S. courts to consider themselves bound to precedents (cf. the infamous Pierson v. Post case), it can be reasonably expected that this ruling would be honored and applied in subsequent cases. Thus under U.S. law, Ancient UNIX can be safely assumed to belong in the public domain.
The situation differs in Germany. Unlike the U.S., copyright never needed registration in order to exist. Computer programs are works in the sense of the German 1965 Act on Copyright and Related Rights (Copyright Act, henceforth CopyA) as per CopyA § 2(1) no. 1. Even prior to the amendment of CopyA § 2(1) to include computer programs, computer programs have been recognized as copyrightable works by the German Supreme Court (BGHZ 112, 264 Betriebssystem, no. 19); CopyA § 137d(1) rightly clarifies that. The copyright holder at 1979 would still have been USL via Bell Labs and AT&amp;T. Copyright of computer programs is transferred to the employer upon creation under CopyA § 69(1).
Note that this does not affect expiry (Daniel Kaboth/Benjamin Spies, commentary on CopyA §§ 69a‒69g, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), Urheberrecht: UrhG, KUG, VerlG, VGG, Kommentar, 4th ed., C. H. Beck, 2018, no. 16 ad CopyA § 69b; cf. Bundestag-Drucksache [BT-Drs.] 12/4022, p. 10). Expiry occurs 70 years after the death of the (co-)author that died most recently as per CopyA § 65(1) and 64; this has been the case since at least the 1960s, meaning there is no way for copyright to have expired already (old version, as per Bundesgesetzblatt Part I No. 51 of September 16, 1965, pp. 1273‒1294).
In Germany, private international law applies the so-called “Territorialitätsprinzip” for intellectual property rights. This means that the effect of an intellectual property right is limited to the territory of a state (Anne Lauber-Rönsberg, KollisionsR, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), ibid., pp. 2241 et seqq., no. 4). Additionally, the “Schutzlandprinzip” applies; this means that protection of intellectual property follows the lex loci protectionis, i.e. the law of the country for which protection is sought (BGH GRUR 2015, 264 HiHotel II, no. 25; BGH GRUR 2003, 328 Sender Felsberg, no. 24), albeit this is criticized in parts of doctrine (Lauber-Rönsberg, ibid., no. 10). The “Schutzlandprinzip” requires that the existence of an intellectual property right be verified as well (BGH ZUM 2016, 522 Wagenfeld-Leuchte II, no. 19).
Thus, in Germany, copyright on Ancient UNIX is still alive and well. Who has it, though? A ruling by the U.S. Court of Appeals, Tenth Circuit, in the case of The SCO Group, Inc. v. Novell, Inc. (SCO v. Novell) in the U.S. made clear that Novell owns the rights to System V – thus presumably UNIX System III as well – and Ancient UNIX, though SCO acquired enough rights to develop UnixWare/OpenServer (Ruling 10-4122 [D.C. No. 2:04-CV-00139-TS], pp. 19 et seq.). Novell itself was purchased by the Attachmate Group, which was in turn acquired by the COBOL vendor Micro Focus. Therefore, the rights to SVRX and – outside the U.S. – are with Micro Focus right now. If all you care about is the U.S., you can stop reading about Ancient UNIX here.
So how does the Caldera license factor into all of this? For some context, the license was issued January 23, 2002 and covers Ancient UNIX (V1 through V7 including 32V), specifically excluding System III and System V. Caldera, Inc. was founded in 1994. The Santa Cruz Operation, Inc. sold its rights to UNIX to Caldera in 2001, renamed itself to Tarantella Inc. and Caldera renamed itself The SCO Group. Nemo plus iuris ad alium transferre potest quam ipse habet; no one can transfer more rights than he has. The question now becomes whether Caldera had the rights to issue the Caldera license.
I’ve noted it above but it needs restating: Foreign decisions are not necessarily accepted in Germany due to the “Territorialitätsprinzip” and “Schutzlandprinzip” – however, I will be citing a U.S. ruling for its assessment of the facts for the sake of simplicity. As per ruling 10-4122, “The district court found the parties intended for SCO to serve as Novell’s agent with respect to the old SVRX licenses and the only portion of the UNIX business transferred outright under the APA [asset purchase agreement] was the ability to exploit and further develop the newer UnixWare system. SCO was able to protect that business because it was able to copyright its own improvements to the system. The only reason to protect the earlier UNIX code would be to protect the existing SVRX licenses, and the court concluded Novell retained ultimate control over that portion of the business under the APA.” The relevant agreements consist of multiple pieces:
the base Asset Purchase Agreement “APA” (Part I)
the base Asset Purchase Agreement “APA” (Part II)
the Operating Agremeent and Amendment 1 to the APA
the Amendment 2 to the APA
The APA dates September 19, 1995, from before the Caldera license. Caldera cannot possibly have acquired rights that The Santa Cruz Operation, Inc. itself never had. Furthermore, I’ve failed to find any mention of Ancient UNIX; all that is transferred is rights to SVRX. Overall, I believe that the U.S. courts’ assesment of the facts represents the situation accurately. Thus for all intents and purposes, UNIX up to and including System V remained with Novell/Attachmate/Micro Focus. Caldera therefore never had any rights to Ancient UNIX, which means it never had the rights to issue the Caldera license. The Caldera license is null and void – in the U.S. because the copyright has been lost due to formalities, everywhere else because Caldera never had the rights to issue it.
The first step to truly freeing UNIX would this be to get Micro Focus to re-issue the Caldera license for Ancient UNIX, ideally it would now also include System III and System V.</blockquote>

<ul>
    <li>BSD/OS</li>
</ul>

<blockquote>Another operating system near UNIX is of interest. The USL v. BSDi lawsuit includes two parties: USL, which we have seen above, and Berkeley Software Design, Inc. BSDi sold BSD/386 (later BSD/OS), which was a derivative of 4.4BSD. The software parts of the BSDi company were acquired by Wind River Systems, whereas the hardware parts went to iXsystems. Copyright is not disputed there, though Wind River Systems ceased selling BSD/OS products 15 years ago, in 2003. In addition, Wind River System let their trademark on BSD expire, though this is without consequence for copyright.
BSD/OS is notable in the sense that it powered much of early internet infrastructure. Traces of its legacy can still be found on Richard Stevens’ FAQ.
To truly make UNIX history free, BSD/OS would arguably also need to see a source code release. BSD/OS at least in its earliest releases under BSDi would ship with source code, though under a non-free license, far from BSD or even GPL licensing.</blockquote>

<ul>
    <li>System V</li>
</ul>

<blockquote>The fate of System V as a whole is difficult to determine. Various licenses have been granted to a number of vendors (Dell UNIX comes to mind; HP for HP-UX, IBM for AIX, SGI UNIX, etc.). Sun released OpenSolaris – notoriously, Oracle closed the source to Solaris again after its release –, which is a System V Release 4 descendant. However, this means nothing for the copyright or licensing status of System V itself. Presumably, the rights with System V still remain with Novell (now Micro Focus): SCO managed to sublicense rights to develop and sell UnixWare/OpenServer, themselves System V/III descendants, to unXis, Inc. (now known as Xinuos, Inc.), which implies that Xinuos is not the copyright holder of System V.
Obviously, to free UNIX, System V and its entire family of descendants would also need to be open sourced. However, I expect tremendous resistance on part of all the companies mentioned. As noted in the “Ancient UNIX” section, Micro Focus alone would probably be sufficient to release System V, though this would mean nothing for the other commercial System V derivatives.</blockquote>

<ul>
    <li>Newer Research UNIX</li>
</ul>

<blockquote>The fate of Bell Labs would be a different one; it would go on to be purchased by Lucent, now part of Nokia. After commercial UNIX got separated out to USL, Research UNIX would continue to exist inside of Bell Labs. Research UNIX V8, V9 and V10 were not quite released by Alcatel-Lucent USA Inc. and Nokia in 2017.
However, this is merely a notice that the companies involved will not assert their copyrights only with respect to any non-commercial usage of the code. It is still not possible, over 30 years later, to freely use the V8 code.</blockquote>

<ul>
    <li>Conclusion
In the U.S., Ancient UNIX is freely available. People located everywhere else, however, are unable to legally obtain UNIX code for any of the systems mentioned above. The exception being BSD/OS, assuming a purchase of a legitimate copy of the source code CD. This is deeply unsatisfying and I implore all involved companies to consider open sourcing (preferably under a BSD-style license) their code older than a decade, if nothing else, then at least for the sake of historical purposes. I would like to encourage everybody reading this to consider reaching out to Micro Focus and Wind River Systems about System V and BSD/OS, respectively. Perhaps the masses can change their minds.</li>
</ul>

<blockquote>A small note about patents: Some technologies used in newer iterations of the UNIX system (in particular the System V derivatives) may be encumbered with software patents. An open source license will not help against patent infringement claims. However, the patents on anything used in the historical operating systems will certainly have expired by now. In addition, European readers can ignore this entirely – software patents just aren’t a thing.</blockquote>

<p><hr /></p>

<h3><a href="https://labs.ripe.net/Members/claudio_jeker/openbgpd-adding-diversity-to-route-server-landscape">OpenBGPD - Adding Diversity to the Route Server Landscape</a></h3>

<ul>
    <li>Introduction</li>
</ul>

<blockquote>As of last year, there was effectively only a single solution in the Route Server vendor market: the BIRD Internet routing daemon. <a href="http://NIC.CZ">NIC.CZ</a> (the organisation developing BIRD) has done fantastic work on maintaining their BGP-4 implementation, however, it’s not healthy to have virtually every Internet Exchange Point (IXP) in the RIPE NCC service region depend on a single open source project. The current situation can be compared to the state of the DNS root nameservers back in 2002 - their dependence on the BIND nameserver daemon and the resulting development of NSD as an alternative by NLnet, in cooperation with the RIPE NCC.
OpenBGPD used to be one of the most popular Route Server implementations until the early 2010s. OpenBGPD’s main problem was that its performance couldn’t keep up with the Internet’s growth, so it lost market share. An analysis by Job Snijders suggested that a modernised OpenBGPD distribution would be a most viable option to regain diversity on the Route Server level.</blockquote>

<ul>
    <li>Missing features in OpenBGPD</li>
</ul>

<blockquote>The following main missing features were identified in OpenBGPD:</blockquote>

<ul>
    <li>Performance</li>
</ul>

<blockquote>In previous versions of OpenBGPD, the filtering performance didn’t allow proper filtering of all EBGP sessions. Current best practice at IXP Route Servers is to carefully evaluate and validate of all routes learned from EBGP peers. The OpenBGPD ruleset required to do correct filtering (in many deployment scenarios) was simply too lengthy - and negatively impacted service performance during configuration reloads. While filtering performance is the biggest bottleneck, general improvements to the Routing Information Base were also made to improve scalability. IXP Route Servers with a few hundred peering sessions are commonplace and adding new sessions shouldn’t impact the Route Servers’ service to other peers. We found that performance was the most pressing issue that needed to be tackled.</blockquote>

<ul>
    <li>Lack of RPKI Origin Validation</li>
</ul>

<blockquote>As we’ve seen, Internet operators are moving to adopt RPKI based BGP Origin Validation. While it was theoretically possible to emulate RFC 6811-style Origin Validation in previous versions of OpenBGPD, the required configuration wasn’t optimised for performance and wasn’t user friendly. We believe that BGP Origin Validation should be as easy as possible - this requires BGP-4 vendors to implement native, optimised routines for Origin Validation. Of course, enabling Origin Validation shouldn’t have an impact on performance either when processing BGP updates or when updating the Route Origin Authorisation (ROA) table itself.</blockquote>

<ul>
    <li>Portability</li>
</ul>

<blockquote>OpenBGPD is an integral part of OpenBSD, but IXPs may prefer to run their services infrastructure on an operating system of their choice. Making sure that there’s a portable OpenBGPD version which follows the OpenBSD project release cycle will give IXPs this option.</blockquote>

<ul>
    <li>Development steps</li>
</ul>

<blockquote>By addressing the issues mentioned above, we could bring back OpenBGPD as a viable Route Server implementation.
Since I was one of the core OpenBGPD developers, I was asked if I wanted to pick up this project again. Thanks to the funding from the RIPE NCC Project Fund, this was possible. Starting in June 2018, I worked full time on this important community project. Over the last few months, many of the problems are already addressed and are now part of the OpenBSD 6.4 release. So far, 154 commits were made to OpenBGPD during the 6.4 development cycle - around 8% of all commits ever to OpenBGPD! This shows that due to funding and dedicated resources, a lot of work could be pushed into the latest release of OpenBGPD.</blockquote>

<ul>
    <li>OpenBGPD 6.4</li>
</ul>

<blockquote>The OpenBGPD version, as part of OpenBSD 6.4 release, demonstrates great progress. Even though there have been many changes to the core of OpenBGPD, the released version is as solid and reliable as previous releases and the many bug fixes and improvements make this the best OpenBGPD release so far. The changes in the filter language allow users to write more efficient rulesets while the introduction of RPKI origination validation fixes an important missing feature. For IXPs, OpenBGPD now is an alternative again. There are still open issues, but the gap is closing!</blockquote>

<ul>
    <li>Feature highlights</li>
</ul>

<blockquote>The following changes should be highlighted:</blockquote>

<ul>
    <li>Introduction of background soft-reconfiguration on config reload. Running the soft-reconfiguration task in the background allows for new updates and withdraws to be processed at the same time. This improves convergence time - one of the key metrics for Route Servers.</li>
    <li>BGP Origin Validation when a roa-set is configured Every EBGP route announcement is validated against the locally configured VRP table entries. Depending on the validation process’s outcome, the validation state is set to valid, invalid or not found. The filter language has been extended to allow checking for the origin validation state, and thanks to this, it is possible to deny invalid prefixes or regard valid prefixes different to the ones that aren’t found. The roa-set table is read from the configuration file and updated during configuration reloads. On production systems reloading the roa-set and applying it to all prefixes is done in a couple of seconds.</li>
    <li>Fast prefix-set lookups In OpenBSD 6.3 prefix-sets got introduced in OpenBGPD. A prefix-set combines many prefix lookups into a single filter rule. The original implementation wasn’t optimised but now a fast trie lookup is used. Thanks to this, large IRR DB prefix tables can now be implemented efficiently.</li>
    <li>Introduction of as-sets Similar to prefix-sets, as-sets help group many AS numbers into a single lookup. Thanks to this, large IRR DB origin AS tables can be implemented efficiently.
Introduction of origin-sets</li>
    <li>Looking at the configurations of Route Servers doing full filtering, it was noticed that a common lookup was binding a prefix to an origin AS - similar to how a roa-set is used for RPKI. These origin-set tables are used to extend the IRR prefix lookup and generated from alternative sources.</li>
    <li>Improving third party tools</li>
</ul>

<blockquote>Users can only benefit from the changes introduced in OpenBGPD 6.4 when the surrounding 3rd party tools are adjusted accordingly. Two opensource projects such as bgpq3 and arouteserver are frequently used by network operators and IXPs to generate BGP configurations. Thanks to our contributions to those projects, we were able to get them ready for all the new features in OpenBGPD.</blockquote>

<ul>
    <li>bgpq3 was extended to create as-set and prefix-set tables based on IRR DB entries. This is replacing the old way of doing the same with a large amount of filter rules. Thanks to the quick response from the bgpq3 maintainer, it was possible to ship OpenBSD 6.4 with a bgpq3 package that includes all the new features.</li>
    <li>arouteserver was adjusted to implement RPKI roa-set, as-set, prefix-set, and origin-set to generate a much better-performing configurations for the 6.4 version. With the v0.20.0 release of arouteserver, IXPs are able to generate an OpenBGPD configuration which is a ton faster but also implements the new functionalities. Looking at YYCIX (the resident IXP in Calgary, Canada) the ruleset generated by arouteserver was reduced from 370,000 rules to well under 6,000 rules. This resulted in the initial convergence time dropping from over 1 hour to less than 2 minutes, and subsequent configuration reloads are hitless and no longer noticeable.</li>
    <li>What still needs to be done</li>
</ul>

<blockquote>A sizeable chunk of work still left on the table is the rework of the RIB data structures in OpenBGPD - these haven’t been changed since the initial design of OpenBGPD in 2003. There’s currently ongoing work (in small steps, to avoid jeopardising the stability of OpenBGPD) to modernise these data-structures. The goal is to provide better decoupling of the filter step from storing RIB database changes, to pave the way to multi-threaded operations at a later point.</blockquote>

<ul>
    <li>Looking forward</li>
    <li>Job Snijders oversaw this year’s fundraising and project management, he adds:</li>
</ul>

<blockquote>It’s been incredibly productive to create an environment where a core developer is allowed to work full time on the OpenBGPD code base. However, it’s important to note there still is room for a number of new features to help improve its operational capabilities (such as BMP, RFC 7313, ADD_PATH, etc). It’d be beneficial to the Internet community at large if we can extend Claudio Jeker’s involvement for another year. Open source software doesn’t grow on trees! Strategic investments are the only way to keep OpenBGPD’s roadmap aligned with Internet growth and operator requirements.</blockquote>

<p><hr /></p>

<h2>Beastie Bits</h2>

<ul>
    <li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-November/718130.html">DragonFly - git: annotated tag v5.5.0 created</a></li>
    <li><a href="https://www.youtube.com/watch?v=Qvj7Mkr13d8">Torchlight 2 on NetBSD</a></li>
    <li><a href="https://www.usenix.org/system/files/login/articles/login_dec14_03_dawidek.pdf">Older, but still good USENIX Login Article on Capsicum</a></li>
    <li><a href="https://github.com/myfreeweb/capsicumizer">The Super Capsicumizer 9000</a></li>
    <li><a href="https://www.noc-ps.com/">Dedicated and Virtual Server PXE provisioning tool</a></li>
    <li><a href="https://cirrus-ci.org/guide/FreeBSD/">Cirrus CI have announced FreeBSD support</a></li>
    <li><a href="https://twitter.com/astr0baby/status/1065353771952336897">NetBSD PineBook Gameplay</a></li>
    <li><a href="http://www.bsdcan.org/2019/papers.php">BSDCan 2019 CfP is out</a></li>
    <li>Allan’s first ZFS array, Zulu, turned 7 years old on Nov 29th</li>
</ul>

<p><hr /></p>

<h2>Feedback/Questions</h2>

<ul>
    <li>Malcom - <a href="http://dpaste.com/35TNNX4">Installing Drivers in Development</a></li>
    <li>Samir - <a href="http://dpaste.com/2RCB37Y#wrap">Introduction to ZFS</a></li>
    <li>Newnix - <a href="http://dpaste.com/01YJ4EB#wrap">Drive Failures</a></li>
</ul>

<p><hr /></p>

<ul>
    <li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv">feedback@bsdnow.tv</a></li>
</ul>

<p><hr /></p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonflyBSD 5.4 has been released, down the Gopher hole with OpenBSD, OpenBSD in stereo with VFIO, BSD/OS the best candidate for legally tested open source Unix, OpenBGPD adds diversity to the routing server landscape, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release54/">DragonflyBSD 5.4 released</a></h3>

<blockquote>DragonFly version 5.4 brings a new system compiler in GCC 8, improved NUMA support, a large of number network and virtual machine driver updates, and updates to video support. This release is 64-bit only, as with previous releases.
The details of all commits between the 5.2 and 5.4 branches are available in the associated commit messages for 5.4.0rc and 5.4.0.</blockquote>

<ul>
    <li>Big-ticket items</li>
    <li>Much better support for asymmetric NUMA (Non-Uniform Memory Access) configurations. In particular, both the memory subsystem and the scheduler now understand the Threadripper 2990WX’s architecture. The scheduler will prioritize CPU nodes with direct-attached memory and the memory subsystem will normalize memory queues for CPU nodes without direct-attached memory (which improves cache locality on those CPUs).</li>
    <li>Incremental performance work. DragonFly as a whole is very SMP friendly. The type of performance work we are doing now mostly revolves around improving fairness for shared-vs-exclusive lock clashes, reducing cache ping-ponging due to non-contending SMP locks (i.e. massive use of shared locks on shared resources), and so forth.</li>
    <li>Major updates to dports brings us to within a week or two of FreeBSD’s ports as of this writing, in particular major updates to chromium, and making the whole mess work with gcc-8.</li>
    <li>Major rewriting of the tty clist code and the tty locking code, significantly improving concurrency across multiple ttys and ptys.</li>
    <li>GCC 8</li>
    <li>DragonFly now ships with GCC 8.0, and runs as the default compiler. It is also now used for building dports.</li>
    <li>GCC 4.7.4 and GCC 5.4.1 are still installed. 4.7.4 is our backup compiler, and 5.4.1 is still there to ensure a smooth transition, but should generally not be used. buildworld builds all three by default to ensure maximum compatibility.</li>
    <li>Many passes through world sources were made to address various warnings and errors the new GCC brought with it.</li>
    <li>HAMMER2</li>
    <li>HAMMER2 is recommended as the default root filesystem in non-clustered mode.</li>
    <li>Clustered support is not yet available.</li>
    <li>Increased bulkfree cache to reduce the number of iterations required.</li>
    <li>Fixed numerous bugs.</li>
    <li>Improved support on low-memory machines.</li>
    <li>Significant pre-work on the XOP API to help support future networked operations.</li>
    <li>Details</li>
    <li>Checksums
<code>MD5 (dfly-x86_64-5.4.0_REL.img) = 7277d7cffc92837c7d1c5dd11a11b98f</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.iso) = 6da7abf036fe9267479837b3c3078408</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.img.bz2) = a77a072c864f4b72fd56b4250c983ff1</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.iso.bz2) = 4dbfec6ccfc1d59c5049455db914d499</code></li>
    <li>Downloads Links</li>
</ul>

<blockquote>DragonFly BSD is 64-bit only, as announced during the 3.8 release.</blockquote>

<ul>
    <li>USB: dfly-x86_64-5.4.0_REL.img as bzip2 file</li>
    <li>ISO: dfly-x86_64-5.4.0_REL.iso as bzip2 file</li>
    <li>Uncompressed ISO: dfly-x86_64-5.4.0_REL.iso (For use with VPS providers as an install image.)</li>
</ul>

<p><hr /></p>

<h3><a href="https://cryogenix.net/gophernicus.html">Down the Gopher hole with OpenBSD, Gophernicus, and TLS</a></h3>

<blockquote>In the early 2000s I thought I had seen the worst of the web - Java applets, Macromedia (&gt;Adobe) Flash, animated GIFs, javascript snow that kept you warm in the winter by burning out your CPU, and so on. For a time we learned from these mistakes, and started putting the burden on the server-side - then with improvements in javascript engines we started abusing it again with JSON/AJAX and it all went down hill from there.</blockquote>

<blockquote>Like cloud computing, blockchains, machine learning and a tonne of other a la mode technologies around today - most users and service providers don’t need websites that consume 1GB of memory processing JS and downloading 50MB of compressed data just to read Alice’s one-page travel blog or Bob’s notes on porting NetBSD to his blood-pressure monitor.</blockquote>

<blockquote>Before the HTTP web we relied on Prestel/Minitel style systems, BBS systems, and arguably the most accessible of all - Gopher! Gopher was similar to the locally accessed AmigaGuide format, in that it allowed users to search and retrieve documents interactively, with links and cross-references. Its efficiency and distraction-free nature make it attractive to those who are tired of the invasive, clickbait, ad-filled, javascript-laden web2/3.x. But enough complaining and evangelism - here’s how to get your own Gopher Hole!</blockquote>

<blockquote>Gophernicus is a modern gopher daemon which aims to be secure (although it still uses inetd -_-); it’s even in OpenBSD ports so at least we can rely on it to be reasonably audited.</blockquote>

<blockquote>If you need a starting point with Gopher, SDF-EU’s wiki has a good article here.</blockquote>

<ul>
    <li><a href="https://sdfeu.org/w/tutorials:gopher">https://sdfeu.org/w/tutorials:gopher</a></li>
</ul>

<blockquote>Finally, if you don’t like gopher(1) - there’s always lynx(1) or NCSA Mosaic!</blockquote>

<ul>
    <li><a href="https://cryogenix.net/NCSA_Mosaic_OpenBSD.html">https://cryogenix.net/NCSA_Mosaic_OpenBSD.html</a></li>
</ul>

<blockquote>I’ve added TLS support to Gophernicus so you don’t need to use stunnel anymore. The code is ugly and unpolished though so I wouldn’t recommend for production use.</blockquote>

<ul>
    <li><a href="https://github.com/0x16h/gophernicus">https://github.com/0x16h/gophernicus</a></li>
    <li><a href="https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd">https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd</a></li>
</ul>

<p><hr /></p>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2018/11/12/vfio">OpenBSD in Stereo with Linux VFIO</a></h3>

<blockquote>I use a Huawei Matebook X as my primary OpenBSD laptop and one aspect of its hardware support has always been lacking: audio never played out of the right-side speaker. The speaker did actually work, but only in Windows and only after the Realtek Dolby Atmos audio driver from Huawei was installed. Under OpenBSD and Linux, and even Windows with the default Intel sound driver, audio only ever played out of the left speaker.
Now, after some extensive reverse engineering and debugging with the help of VFIO on Linux, I finally have audio playing out of both speakers on OpenBSD.</blockquote>

<ul>
    <li>VFIO</li>
</ul>

<blockquote>The Linux kernel has functionality called VFIO which enables direct access to a physical device (like a PCI card) from userspace, usually passing it to an emulator like QEMU.
To my surprise, these days, it seems to be primarily by gamers who boot Linux, then use QEMU to run a game in Windows and use VFIO to pass the computer’s GPU device through to Windows.
By using Linux and VFIO, I was able to boot Windows 10 inside of QEMU and pass my laptop’s PCI audio device through to Windows, allowing the Realtek audio drivers to natively control the audio device. Combined with QEMU’s tracing functionality, I was able to get a log of all PCI I/O between Windows and the PCI audio device.</blockquote>

<ul>
    <li>Using VFIO</li>
</ul>

<blockquote>To use VFIO to pass-through a PCI device, it first needs to be stubbed out so the Linux kernel’s default drivers don’t attach to it. GRUB can be configured to instruct the kernel to ignore the PCI audio device (8086:9d71) and explicitly enable the Intel IOMMU driver by adding the following to /etc/default/grub and running update-grub
With the audio device stubbed out, a new VFIO device can be created from it
Then the VFIO device (00:1f.3) can be passed to QEMU
I was using my own build of QEMU for this, due to some custom logging I needed (more on that later), but the default QEMU package should work fine. The events.txt was a file of all VFIO events I wanted logged (which was all of them).
Since I was frequently killing QEMU and restarting it, Windows 10 wanted to go through its unexpected shutdown routine each time (and would sometimes just fail to boot again). To avoid this and to get a consistent set of logs each time, I used qemu-img to take a snapshot of a base image first, then boot QEMU with that snapshot. The snapshot just gets thrown away the next time qemu-img is run and Windows always starts from a consistent state.
QEMU will now log each VFIO event which gets saved to a debug-output file.
With a full log of all PCI I/O activity from Windows, I compared it to the output from OpenBSD and tried to find the magic register writes that enabled the second speaker. After days of combing through the logs and annotating them by looking up hex values in the documentation, diffing runtime register values, and even brute-forcing it by mechanically duplicating all PCI I/O activity in the OpenBSD driver, nothing would activate the right speaker.
One strange thing that I noticed was if I booted Windows 10 in QEMU and it activated the speaker, then booted OpenBSD in QEMU without resetting the PCI device’s power in-between (as a normal system reboot would do), both speakers worked in OpenBSD and the configuration that the HDA controller presented was different, even without any changes in OpenBSD.</blockquote>

<blockquote>A Primer on Intel HDA
Most modern computers with integrated sound chips use an Intel High Definition Audio (HDA) Controller device, with one or more codecs (like the Realtek ALC269) hanging off of it. These codecs do the actual audio processing and communicate with DACs and ADCs to send digital audio to the connected speakers, or read analog audio from a microphone and convert it to a digital input stream. In my Huawei Matebook X, this is done through a Realtek ALC298 codec.
On OpenBSD, these HDA controllers are supported by the azalia(4) driver, with all of the per-codec details in the lengthy azalia_codec.c file. This file has grown quite large with lots of codec- and machine-specific quirks to route things properly, toggle various GPIO pins, and unmute speakers that are for some reason muted by default.
The azalia driver talks to the HDA controller and sets up various buffers and then walks the list of codecs. Each codec supports a number of widget nodes which can be interconnected in various ways. Some of these nodes can be reconfigured on the fly to do things like turning a microphone port into a headphone port.
The newer Huawei Matebook X Pro released a few months ago is also plagued with this speaker problem, although it has four speakers and only two work by default. A fix is being proposed for the Linux kernel which just reconfigures those widget pins in the Intel HDA driver. Unfortunately no pin reconfiguration is enough to fix my Matebook X with its two speakers.
While reading more documentation on the HDA, I realized there was a lot more activity going on than I was able to see through the PCI tracing.
For speed and efficiency, HDA controllers use a DMA engine to transfer audio streams as well as the commands from the OS driver to the codecs. In the output above, the CORBWP=0; size=256 and RIRBRP=0, size=256 indicate the setup of the CORB (Command Output Ring Buffer) and RIRB (Response Input Ring Buffer) each with 256 entries. The HDA driver allocates a DMA address and then writes it to the two CORBLBASE and CORBUBASE registers, and again for the RIRB.
When the driver wants to send a command to a codec, such as CORB_GET_PARAMETER with a parameter of COP_VOLUME_KNOB_CAPABILITIES, it encodes the codec address, the node index, the command verb, and the parameter, and then writes that value to the CORB ring at the address it set up with the controller at initialization time (CORBLBASE/CORBUBASE) plus the offset of the ring index. Once the command is on the ring, it does a PCI write to the CORBWP register, advancing it by one. This lets the controller know a new command is queued, which it then acts on and writes the response value on the RIRB ring at the same position as the command (but at the RIRB’s DMA address). It then generates an interrupt, telling the driver to read the new RIRBWP value and process the new results.
Since the actual command contents and responses are handled through DMA writes and reads, these important values weren’t showing up in the VFIO PCI trace output that I had gathered. Time to hack QEMU.</blockquote>

<ul>
    <li>Logging DMA Memory Values in QEMU</li>
</ul>

<blockquote>Since DMA activity wouldn’t show up through QEMU’s VFIO tracing and I obviously couldn’t get Windows to dump these values like I could in OpenBSD, I could make QEMU recognize the PCI write to the CORBWP register as an indication that a command has just been written to the CORB ring.
My custom hack in QEMU adds some HDA awareness to remember the CORB and RIRB DMA addresses as they get programmed in the controller. Then any time a PCI write to the CORBWP register is done, QEMU fetches the new CORB command from DMA memory, decodes it into the codec address, node address, command, and parameter, and prints it out. When a PCI read of the RIRBWP register is requested, QEMU reads the response and prints the corresponding CORB command that it stored earlier.
With this hack in place, I now had a full log of all CORB commands and RIRB responses sent to and read from the codec:
An early version of this patch left me stumped for a few days because, even after submitting all of the same CORB commands in OpenBSD, the second speaker still didn’t work. It wasn’t until re-reading the HDA spec that I realized the Windows driver was submitting more than one command at a time, writing multiple CORB entries and writing a CORBWP value that was advanced by two. This required turning my CORB/RIRB reading into a for loop, reading each new command and response between the new CORBWP/RIRBWP value and the one previously seen.
Sure enough, the magic commands to enable the second speaker were sent in these periods where it submitted more than one command at a time.</blockquote>

<ul>
    <li>Minimizing the Magic</li>
</ul>

<blockquote>The full log of VFIO PCI activity from the Windows driver was over 65,000 lines and contained 3,150 CORB commands, which is a lot to sort through. It took me a couple more days to reduce that down to a small subset that was actually required to activate the second speaker, and that could only be done through trial and error:</blockquote>

<ul>
    <li>Boot OpenBSD with the full list of CORB commands in the azalia driver</li>
    <li>Comment out a group of them</li>
    <li>Compile kernel and install it, halt the QEMU guest</li>
    <li>Suspend and wake the laptop, resetting PCI power to the audio device to reset the speaker/Dolby initialization and ensure the previous run isn’t influencing the current test (I’m guessing there is an easier to way to reset PCI power than suspending the laptop, but oh well)</li>
    <li>Start QEMU, boot OpenBSD with the new kernel</li>
    <li>Play an MP3 with mpg123 which has alternating left- and right-channel audio and listen for both channels to play</li>
</ul>

<blockquote>This required a dozen or so iterations because sometimes I’d comment out too many commands and the right speaker would stop working. Other times the combination of commands would hang the controller and it wouldn’t process any further commands. At one point the combination of commands actually flipped the channels around so the right channel audio was playing through the left speaker.</blockquote>

<ul>
    <li>The Result</li>
</ul>

<blockquote>After about a week of this routine, I ended up with a list of 662 CORB commands that are needed to get the second speaker working. Based on the number of repeated-but-slightly-different values written with the 0x500 and 0x400 commands, I’m guessing this is some kind of training data and that this is doing the full Dolby/Atmos system initialization, not just turning on the second speaker, but I could be completely wrong.
In any case, the stereo sound from OpenBSD is wonderful now and I can finally stop downmixing everything to mono to play from the left speaker. In case you ever need to do this, sndiod can be run with -c 0:0 to reduce the channels to one.
Due to the massive size of the code needed for this quirk, I’m not sure if I’ll be committing it upstream in OpenBSD or just saving it for my own tree. But at least now the hardware support chart for my Matebook is all yeses for the things I care about.
I’ve also updated the Linux bug report that I opened before venturing down this path, hoping one of the maintainers of that HDA code that works at Intel or Realtek knew of a solution I could just port to OpenBSD. I’m curious to see what they’ll do with it.</blockquote>

<p><hr /></p>

<h3><a href="https://virtuallyfun.com/wordpress/2018/11/26/why-bsd-os-is-the-best-candidate-for-being-the-only-tested-legally-open-unix/">Why BSD/OS is the best candidate for being the only tested legally open UNIX</a></h3>

<ul>
    <li>Introduction</li>
</ul>

<blockquote>The UNIX® system is an old operating system, possibly older than many of the readers of this post. However, despite its age, it still has not been open sourced completely. In this post, I will try to detail which parts of which UNIX systems have not yet been open sourced. I will focus on the legal situation in Germany in particular, taking it representative of European law in general – albeit that is a stretch, knowing the diversity of European jurisdictions. Please note that familiarity with basic terms of copyright law is assumed.</blockquote>

<ul>
    <li>Ancient UNIX</li>
</ul>

<blockquote>The term “Ancient UNIX” refers to the versions of UNIX up to and including Seventh Edition UNIX (1979) including the 32V port to the VAX. Ancient UNIX was created at Bell Laboratories, a subsidiary of AT&amp;T at the time. It was later transferred of the AT&amp;T UNIX Support Group, then AT&amp;T Information Systems and finally the AT&amp;T subsidiary UNIX System Laboratories, Inc. (USL). The legal situation differs between the United States of America and Germany.
In a ruling as part of the UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc. (USL v. BSDi) case, a U.S. court found that USL had no copyright to the Seventh Edition UNIX system and 32V – arguably, by extension, all earlier versions of Ancient UNIX as well – because USL/AT&amp;T had failed to affix copyright notices and could not demonstrate a trade secret. Due to the obsessive tendency of U.S. courts to consider themselves bound to precedents (cf. the infamous Pierson v. Post case), it can be reasonably expected that this ruling would be honored and applied in subsequent cases. Thus under U.S. law, Ancient UNIX can be safely assumed to belong in the public domain.
The situation differs in Germany. Unlike the U.S., copyright never needed registration in order to exist. Computer programs are works in the sense of the German 1965 Act on Copyright and Related Rights (Copyright Act, henceforth CopyA) as per CopyA § 2(1) no. 1. Even prior to the amendment of CopyA § 2(1) to include computer programs, computer programs have been recognized as copyrightable works by the German Supreme Court (BGHZ 112, 264 Betriebssystem, no. 19); CopyA § 137d(1) rightly clarifies that. The copyright holder at 1979 would still have been USL via Bell Labs and AT&amp;T. Copyright of computer programs is transferred to the employer upon creation under CopyA § 69(1).
Note that this does not affect expiry (Daniel Kaboth/Benjamin Spies, commentary on CopyA §§ 69a‒69g, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), Urheberrecht: UrhG, KUG, VerlG, VGG, Kommentar, 4th ed., C. H. Beck, 2018, no. 16 ad CopyA § 69b; cf. Bundestag-Drucksache [BT-Drs.] 12/4022, p. 10). Expiry occurs 70 years after the death of the (co-)author that died most recently as per CopyA § 65(1) and 64; this has been the case since at least the 1960s, meaning there is no way for copyright to have expired already (old version, as per Bundesgesetzblatt Part I No. 51 of September 16, 1965, pp. 1273‒1294).
In Germany, private international law applies the so-called “Territorialitätsprinzip” for intellectual property rights. This means that the effect of an intellectual property right is limited to the territory of a state (Anne Lauber-Rönsberg, KollisionsR, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), ibid., pp. 2241 et seqq., no. 4). Additionally, the “Schutzlandprinzip” applies; this means that protection of intellectual property follows the lex loci protectionis, i.e. the law of the country for which protection is sought (BGH GRUR 2015, 264 HiHotel II, no. 25; BGH GRUR 2003, 328 Sender Felsberg, no. 24), albeit this is criticized in parts of doctrine (Lauber-Rönsberg, ibid., no. 10). The “Schutzlandprinzip” requires that the existence of an intellectual property right be verified as well (BGH ZUM 2016, 522 Wagenfeld-Leuchte II, no. 19).
Thus, in Germany, copyright on Ancient UNIX is still alive and well. Who has it, though? A ruling by the U.S. Court of Appeals, Tenth Circuit, in the case of The SCO Group, Inc. v. Novell, Inc. (SCO v. Novell) in the U.S. made clear that Novell owns the rights to System V – thus presumably UNIX System III as well – and Ancient UNIX, though SCO acquired enough rights to develop UnixWare/OpenServer (Ruling 10-4122 [D.C. No. 2:04-CV-00139-TS], pp. 19 et seq.). Novell itself was purchased by the Attachmate Group, which was in turn acquired by the COBOL vendor Micro Focus. Therefore, the rights to SVRX and – outside the U.S. – are with Micro Focus right now. If all you care about is the U.S., you can stop reading about Ancient UNIX here.
So how does the Caldera license factor into all of this? For some context, the license was issued January 23, 2002 and covers Ancient UNIX (V1 through V7 including 32V), specifically excluding System III and System V. Caldera, Inc. was founded in 1994. The Santa Cruz Operation, Inc. sold its rights to UNIX to Caldera in 2001, renamed itself to Tarantella Inc. and Caldera renamed itself The SCO Group. Nemo plus iuris ad alium transferre potest quam ipse habet; no one can transfer more rights than he has. The question now becomes whether Caldera had the rights to issue the Caldera license.
I’ve noted it above but it needs restating: Foreign decisions are not necessarily accepted in Germany due to the “Territorialitätsprinzip” and “Schutzlandprinzip” – however, I will be citing a U.S. ruling for its assessment of the facts for the sake of simplicity. As per ruling 10-4122, “The district court found the parties intended for SCO to serve as Novell’s agent with respect to the old SVRX licenses and the only portion of the UNIX business transferred outright under the APA [asset purchase agreement] was the ability to exploit and further develop the newer UnixWare system. SCO was able to protect that business because it was able to copyright its own improvements to the system. The only reason to protect the earlier UNIX code would be to protect the existing SVRX licenses, and the court concluded Novell retained ultimate control over that portion of the business under the APA.” The relevant agreements consist of multiple pieces:
the base Asset Purchase Agreement “APA” (Part I)
the base Asset Purchase Agreement “APA” (Part II)
the Operating Agremeent and Amendment 1 to the APA
the Amendment 2 to the APA
The APA dates September 19, 1995, from before the Caldera license. Caldera cannot possibly have acquired rights that The Santa Cruz Operation, Inc. itself never had. Furthermore, I’ve failed to find any mention of Ancient UNIX; all that is transferred is rights to SVRX. Overall, I believe that the U.S. courts’ assesment of the facts represents the situation accurately. Thus for all intents and purposes, UNIX up to and including System V remained with Novell/Attachmate/Micro Focus. Caldera therefore never had any rights to Ancient UNIX, which means it never had the rights to issue the Caldera license. The Caldera license is null and void – in the U.S. because the copyright has been lost due to formalities, everywhere else because Caldera never had the rights to issue it.
The first step to truly freeing UNIX would this be to get Micro Focus to re-issue the Caldera license for Ancient UNIX, ideally it would now also include System III and System V.</blockquote>

<ul>
    <li>BSD/OS</li>
</ul>

<blockquote>Another operating system near UNIX is of interest. The USL v. BSDi lawsuit includes two parties: USL, which we have seen above, and Berkeley Software Design, Inc. BSDi sold BSD/386 (later BSD/OS), which was a derivative of 4.4BSD. The software parts of the BSDi company were acquired by Wind River Systems, whereas the hardware parts went to iXsystems. Copyright is not disputed there, though Wind River Systems ceased selling BSD/OS products 15 years ago, in 2003. In addition, Wind River System let their trademark on BSD expire, though this is without consequence for copyright.
BSD/OS is notable in the sense that it powered much of early internet infrastructure. Traces of its legacy can still be found on Richard Stevens’ FAQ.
To truly make UNIX history free, BSD/OS would arguably also need to see a source code release. BSD/OS at least in its earliest releases under BSDi would ship with source code, though under a non-free license, far from BSD or even GPL licensing.</blockquote>

<ul>
    <li>System V</li>
</ul>

<blockquote>The fate of System V as a whole is difficult to determine. Various licenses have been granted to a number of vendors (Dell UNIX comes to mind; HP for HP-UX, IBM for AIX, SGI UNIX, etc.). Sun released OpenSolaris – notoriously, Oracle closed the source to Solaris again after its release –, which is a System V Release 4 descendant. However, this means nothing for the copyright or licensing status of System V itself. Presumably, the rights with System V still remain with Novell (now Micro Focus): SCO managed to sublicense rights to develop and sell UnixWare/OpenServer, themselves System V/III descendants, to unXis, Inc. (now known as Xinuos, Inc.), which implies that Xinuos is not the copyright holder of System V.
Obviously, to free UNIX, System V and its entire family of descendants would also need to be open sourced. However, I expect tremendous resistance on part of all the companies mentioned. As noted in the “Ancient UNIX” section, Micro Focus alone would probably be sufficient to release System V, though this would mean nothing for the other commercial System V derivatives.</blockquote>

<ul>
    <li>Newer Research UNIX</li>
</ul>

<blockquote>The fate of Bell Labs would be a different one; it would go on to be purchased by Lucent, now part of Nokia. After commercial UNIX got separated out to USL, Research UNIX would continue to exist inside of Bell Labs. Research UNIX V8, V9 and V10 were not quite released by Alcatel-Lucent USA Inc. and Nokia in 2017.
However, this is merely a notice that the companies involved will not assert their copyrights only with respect to any non-commercial usage of the code. It is still not possible, over 30 years later, to freely use the V8 code.</blockquote>

<ul>
    <li>Conclusion
In the U.S., Ancient UNIX is freely available. People located everywhere else, however, are unable to legally obtain UNIX code for any of the systems mentioned above. The exception being BSD/OS, assuming a purchase of a legitimate copy of the source code CD. This is deeply unsatisfying and I implore all involved companies to consider open sourcing (preferably under a BSD-style license) their code older than a decade, if nothing else, then at least for the sake of historical purposes. I would like to encourage everybody reading this to consider reaching out to Micro Focus and Wind River Systems about System V and BSD/OS, respectively. Perhaps the masses can change their minds.</li>
</ul>

<blockquote>A small note about patents: Some technologies used in newer iterations of the UNIX system (in particular the System V derivatives) may be encumbered with software patents. An open source license will not help against patent infringement claims. However, the patents on anything used in the historical operating systems will certainly have expired by now. In addition, European readers can ignore this entirely – software patents just aren’t a thing.</blockquote>

<p><hr /></p>

<h3><a href="https://labs.ripe.net/Members/claudio_jeker/openbgpd-adding-diversity-to-route-server-landscape">OpenBGPD - Adding Diversity to the Route Server Landscape</a></h3>

<ul>
    <li>Introduction</li>
</ul>

<blockquote>As of last year, there was effectively only a single solution in the Route Server vendor market: the BIRD Internet routing daemon. <a href="http://NIC.CZ">NIC.CZ</a> (the organisation developing BIRD) has done fantastic work on maintaining their BGP-4 implementation, however, it’s not healthy to have virtually every Internet Exchange Point (IXP) in the RIPE NCC service region depend on a single open source project. The current situation can be compared to the state of the DNS root nameservers back in 2002 - their dependence on the BIND nameserver daemon and the resulting development of NSD as an alternative by NLnet, in cooperation with the RIPE NCC.
OpenBGPD used to be one of the most popular Route Server implementations until the early 2010s. OpenBGPD’s main problem was that its performance couldn’t keep up with the Internet’s growth, so it lost market share. An analysis by Job Snijders suggested that a modernised OpenBGPD distribution would be a most viable option to regain diversity on the Route Server level.</blockquote>

<ul>
    <li>Missing features in OpenBGPD</li>
</ul>

<blockquote>The following main missing features were identified in OpenBGPD:</blockquote>

<ul>
    <li>Performance</li>
</ul>

<blockquote>In previous versions of OpenBGPD, the filtering performance didn’t allow proper filtering of all EBGP sessions. Current best practice at IXP Route Servers is to carefully evaluate and validate of all routes learned from EBGP peers. The OpenBGPD ruleset required to do correct filtering (in many deployment scenarios) was simply too lengthy - and negatively impacted service performance during configuration reloads. While filtering performance is the biggest bottleneck, general improvements to the Routing Information Base were also made to improve scalability. IXP Route Servers with a few hundred peering sessions are commonplace and adding new sessions shouldn’t impact the Route Servers’ service to other peers. We found that performance was the most pressing issue that needed to be tackled.</blockquote>

<ul>
    <li>Lack of RPKI Origin Validation</li>
</ul>

<blockquote>As we’ve seen, Internet operators are moving to adopt RPKI based BGP Origin Validation. While it was theoretically possible to emulate RFC 6811-style Origin Validation in previous versions of OpenBGPD, the required configuration wasn’t optimised for performance and wasn’t user friendly. We believe that BGP Origin Validation should be as easy as possible - this requires BGP-4 vendors to implement native, optimised routines for Origin Validation. Of course, enabling Origin Validation shouldn’t have an impact on performance either when processing BGP updates or when updating the Route Origin Authorisation (ROA) table itself.</blockquote>

<ul>
    <li>Portability</li>
</ul>

<blockquote>OpenBGPD is an integral part of OpenBSD, but IXPs may prefer to run their services infrastructure on an operating system of their choice. Making sure that there’s a portable OpenBGPD version which follows the OpenBSD project release cycle will give IXPs this option.</blockquote>

<ul>
    <li>Development steps</li>
</ul>

<blockquote>By addressing the issues mentioned above, we could bring back OpenBGPD as a viable Route Server implementation.
Since I was one of the core OpenBGPD developers, I was asked if I wanted to pick up this project again. Thanks to the funding from the RIPE NCC Project Fund, this was possible. Starting in June 2018, I worked full time on this important community project. Over the last few months, many of the problems are already addressed and are now part of the OpenBSD 6.4 release. So far, 154 commits were made to OpenBGPD during the 6.4 development cycle - around 8% of all commits ever to OpenBGPD! This shows that due to funding and dedicated resources, a lot of work could be pushed into the latest release of OpenBGPD.</blockquote>

<ul>
    <li>OpenBGPD 6.4</li>
</ul>

<blockquote>The OpenBGPD version, as part of OpenBSD 6.4 release, demonstrates great progress. Even though there have been many changes to the core of OpenBGPD, the released version is as solid and reliable as previous releases and the many bug fixes and improvements make this the best OpenBGPD release so far. The changes in the filter language allow users to write more efficient rulesets while the introduction of RPKI origination validation fixes an important missing feature. For IXPs, OpenBGPD now is an alternative again. There are still open issues, but the gap is closing!</blockquote>

<ul>
    <li>Feature highlights</li>
</ul>

<blockquote>The following changes should be highlighted:</blockquote>

<ul>
    <li>Introduction of background soft-reconfiguration on config reload. Running the soft-reconfiguration task in the background allows for new updates and withdraws to be processed at the same time. This improves convergence time - one of the key metrics for Route Servers.</li>
    <li>BGP Origin Validation when a roa-set is configured Every EBGP route announcement is validated against the locally configured VRP table entries. Depending on the validation process’s outcome, the validation state is set to valid, invalid or not found. The filter language has been extended to allow checking for the origin validation state, and thanks to this, it is possible to deny invalid prefixes or regard valid prefixes different to the ones that aren’t found. The roa-set table is read from the configuration file and updated during configuration reloads. On production systems reloading the roa-set and applying it to all prefixes is done in a couple of seconds.</li>
    <li>Fast prefix-set lookups In OpenBSD 6.3 prefix-sets got introduced in OpenBGPD. A prefix-set combines many prefix lookups into a single filter rule. The original implementation wasn’t optimised but now a fast trie lookup is used. Thanks to this, large IRR DB prefix tables can now be implemented efficiently.</li>
    <li>Introduction of as-sets Similar to prefix-sets, as-sets help group many AS numbers into a single lookup. Thanks to this, large IRR DB origin AS tables can be implemented efficiently.
Introduction of origin-sets</li>
    <li>Looking at the configurations of Route Servers doing full filtering, it was noticed that a common lookup was binding a prefix to an origin AS - similar to how a roa-set is used for RPKI. These origin-set tables are used to extend the IRR prefix lookup and generated from alternative sources.</li>
    <li>Improving third party tools</li>
</ul>

<blockquote>Users can only benefit from the changes introduced in OpenBGPD 6.4 when the surrounding 3rd party tools are adjusted accordingly. Two opensource projects such as bgpq3 and arouteserver are frequently used by network operators and IXPs to generate BGP configurations. Thanks to our contributions to those projects, we were able to get them ready for all the new features in OpenBGPD.</blockquote>

<ul>
    <li>bgpq3 was extended to create as-set and prefix-set tables based on IRR DB entries. This is replacing the old way of doing the same with a large amount of filter rules. Thanks to the quick response from the bgpq3 maintainer, it was possible to ship OpenBSD 6.4 with a bgpq3 package that includes all the new features.</li>
    <li>arouteserver was adjusted to implement RPKI roa-set, as-set, prefix-set, and origin-set to generate a much better-performing configurations for the 6.4 version. With the v0.20.0 release of arouteserver, IXPs are able to generate an OpenBGPD configuration which is a ton faster but also implements the new functionalities. Looking at YYCIX (the resident IXP in Calgary, Canada) the ruleset generated by arouteserver was reduced from 370,000 rules to well under 6,000 rules. This resulted in the initial convergence time dropping from over 1 hour to less than 2 minutes, and subsequent configuration reloads are hitless and no longer noticeable.</li>
    <li>What still needs to be done</li>
</ul>

<blockquote>A sizeable chunk of work still left on the table is the rework of the RIB data structures in OpenBGPD - these haven’t been changed since the initial design of OpenBGPD in 2003. There’s currently ongoing work (in small steps, to avoid jeopardising the stability of OpenBGPD) to modernise these data-structures. The goal is to provide better decoupling of the filter step from storing RIB database changes, to pave the way to multi-threaded operations at a later point.</blockquote>

<ul>
    <li>Looking forward</li>
    <li>Job Snijders oversaw this year’s fundraising and project management, he adds:</li>
</ul>

<blockquote>It’s been incredibly productive to create an environment where a core developer is allowed to work full time on the OpenBGPD code base. However, it’s important to note there still is room for a number of new features to help improve its operational capabilities (such as BMP, RFC 7313, ADD_PATH, etc). It’d be beneficial to the Internet community at large if we can extend Claudio Jeker’s involvement for another year. Open source software doesn’t grow on trees! Strategic investments are the only way to keep OpenBGPD’s roadmap aligned with Internet growth and operator requirements.</blockquote>

<p><hr /></p>

<h2>Beastie Bits</h2>

<ul>
    <li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-November/718130.html">DragonFly - git: annotated tag v5.5.0 created</a></li>
    <li><a href="https://www.youtube.com/watch?v=Qvj7Mkr13d8">Torchlight 2 on NetBSD</a></li>
    <li><a href="https://www.usenix.org/system/files/login/articles/login_dec14_03_dawidek.pdf">Older, but still good USENIX Login Article on Capsicum</a></li>
    <li><a href="https://github.com/myfreeweb/capsicumizer">The Super Capsicumizer 9000</a></li>
    <li><a href="https://www.noc-ps.com/">Dedicated and Virtual Server PXE provisioning tool</a></li>
    <li><a href="https://cirrus-ci.org/guide/FreeBSD/">Cirrus CI have announced FreeBSD support</a></li>
    <li><a href="https://twitter.com/astr0baby/status/1065353771952336897">NetBSD PineBook Gameplay</a></li>
    <li><a href="http://www.bsdcan.org/2019/papers.php">BSDCan 2019 CfP is out</a></li>
    <li>Allan’s first ZFS array, Zulu, turned 7 years old on Nov 29th</li>
</ul>

<p><hr /></p>

<h2>Feedback/Questions</h2>

<ul>
    <li>Malcom - <a href="http://dpaste.com/35TNNX4">Installing Drivers in Development</a></li>
    <li>Samir - <a href="http://dpaste.com/2RCB37Y#wrap">Introduction to ZFS</a></li>
    <li>Newnix - <a href="http://dpaste.com/01YJ4EB#wrap">Drive Failures</a></li>
</ul>

<p><hr /></p>

<ul>
    <li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv">feedback@bsdnow.tv</a></li>
</ul>

<p><hr /></p>]]>
  </itunes:summary>
</item>
<item>
  <title>99: BSD Gnow</title>
  <link>https://www.bsdnow.tv/99</link>
  <guid isPermaLink="false">c234f2ea-9f17-4c25-bd28-db41586b32de</guid>
  <pubDate>Wed, 22 Jul 2015 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c234f2ea-9f17-4c25-bd28-db41586b32de.mp3" length="57071380" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week we'll be talking with Ryan Lortie and Baptiste Daroussin about GNOME on BSD. Upstream development is finally treating the BSDs as a first class citizen, so we'll hear about how the recent porting efforts have been since.</itunes:subtitle>
  <itunes:duration>1:19:15</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>This week we'll be talking with Ryan Lortie and Baptiste Daroussin about GNOME on BSD. Upstream development is finally treating the BSDs as a first class citizen, so we'll hear about how the recent porting efforts have been since.
This episode was brought to you by
&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;
Headlines
OpenBSD presents tame (https://www.marc.info/?l=openbsd-tech&amp;amp;m=143725996614627&amp;amp;w=2)
Theo de Raadt sent out an email detailing OpenBSD's new "tame" subsystem, written by Nicholas Marriott and himself, for restricting what processes can and can't do
When using tame, programs will switch to a "restricted-service operating mode," limiting them to only the things they actually need to do
As for the background: "Generally there are two models of operation. The first model requires a major rewrite of application software for effective use (ie. capsicum). The other model in common use lacks granularity, and allows or denies an operation throughout the entire lifetime of a process. As a result, they lack differentiation between program 'initialization' versus 'main servicing loop.' systrace had the same problem. My observation is that programs need a large variety of calls during initialization, but few in their main loops."
Some initial categories of operation include: computation, memory management, read-write operations on file descriptors, opening of files and, of course, networking
Restrictions can also be stacked further into the lifespan of the process, but removed abilities can never be regained (obviously)
Anything that tries to access resources outside of its in-place limits gets terminated with a SIGKILL or, optionally, a SIGABRT (which can produce useful core dumps for investigation)
Also included are 29 examples of userland programs that get additional protection with very minimal changes to the source - only 2 or 3 lines needing changed in the case of binaries like cat, ps, dmesg, etc.
This is an initial work-in-progress version of tame, so there may be more improvements or further (https://www.marc.info/?l=openbsd-tech&amp;amp;m=143740834710502&amp;amp;w=2) control (https://www.marc.info/?l=openbsd-tech&amp;amp;m=143741052411159&amp;amp;w=2) options added before it hits a release (very specific access policies can sometimes backfire (https://forums.grsecurity.net/viewtopic.php?f=7&amp;amp;t=2522), however)
The man page, also included in the mail, provides some specifics about how to integrate tame properly into your code (which, by design, was made very easy to do - making it simple means third party programs are more likely to actually use it)
Kernel bits are in the tree now (https://www.marc.info/?l=openbsd-cvs&amp;amp;m=143727335416513&amp;amp;w=2), with userland changes starting to trickle in too
Combined with a myriad of memory protections (http://www.bsdnow.tv/episodes/2015_05_13-exclusive_disjunction), tight privilege separation and (above all else (https://en.wikipedia.org/wiki/OpenBSD_security_features)) good coding practices, tame should further harden the OpenBSD security fortress
Further discussion (https://news.ycombinator.com/item?id=9928221) can (https://www.reddit.com/r/programming/comments/3dsr0t) be (http://undeadly.org/cgi?action=article&amp;amp;sid=20150719000800&amp;amp;mode=flat) found (https://news.ycombinator.com/item?id=9909429) in (https://www.reddit.com/r/linux/comments/3ds66o) the (https://lobste.rs/s/tbbtfs) usual (https://www.reddit.com/r/openbsd/comments/3ds64c) places (https://www.reddit.com/r/BSD/comments/3ds681) you'd expect
***
Using Docker on FreeBSD (https://wiki.freebsd.org/Docker)
With the experimental Docker port landing in FreeBSD a few weeks ago, some initial docs are starting to show up
This docker is "the real thing," and isn’t using a virtual machine as the backend - as such, it has some limitations
The FreeBSD wiki has a page detailing how it works in general, as well as more info about those limitations
When running Linux containers, it will only work as well as the Linux ABI compat layer for your version of FreeBSD (11.0, or -CURRENT when we're recording this, is where all the action is for 64bit support)
For users on 10.X, there's also a FreeBSD container available, which allows you to use Docker as a fancy jail manager (it uses the jail subsystem internally)
Give it a try, let us know how you find it to be compared to other solutions
***
OpenBSD imports doas, removes sudo (http://www.tedunangst.com/flak/post/doas)
OpenBSD has included the ubiquitous "sudo" utility for many years now, and the current maintainer of sudo (Todd C. Miller) is also a long-time OpenBSD dev
The version included in the base system was much smaller than the latest current version used elsewhere, but was based on older code
Some internal discussion lead to the decision that sudo should probably be moved to ports now, where it can be updated easily and offer all the extra features that were missing in base (LDAP and whatnot)
Ted Unangst conjured up with a rewritten utility to replace it in the base system, dubbed "do as," with the aim of being more simple and compact
There were concerns that sudo was too big and too complicated, and a quick 'n' dirty check reveals that doas is around 350 lines of code, while sudo is around 10,000 - which would you rather have as a setuid root binary?
After the initial import, a number of developers began reviewing and improving various bits here and there
You can check out the code (http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/doas/) now if you're interested
Command usage (http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/doas.1) and config syntax (http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/doas.conf.5) seem pretty straightforward
More discussion (https://news.ycombinator.com/item?id=9914693) on HN
***
What would you like to see in FreeBSD (https://www.reddit.com/r/freebsd/comments/3d80vt/what_would_you_like_to_see_in_freebsd/)
Adrian Chadd started a reddit thread about areas in which FreeBSD could be improved, asking the community what they'd like to see
There are over 200 comments that span a wide range of topics, so we'll just cover a few of the more popular requests - check the very long thread if you're interested in more
The top comment says things don't "just work," citing failover link aggregation of LACP laggs, PPPoE issues, disorganized jail configuration options, unclear CARP configuration and userland dtrace being unstable
Another common one was that there are three firewalls in the base system, with ipfilter and pf being kinda dead now - should they be removed, and more focus put into ipfw?
Video drivers also came up frequently, with users hoping for better OpenGL support and support for newer graphics cards from Intel and AMD - similar comments were made about wireless chipsets as well
Some other replies included more clarity with pkgng output, paying more attention to security issues, updating PF to match the one in OpenBSD, improved laptop support, a graphical installer, LibreSSL in base, more focus on embedded MIPS devices, binary packages with different config options, steam support and lots more
At least one user suggested better "marketing" for FreeBSD, with more advocacy and (hopefully) more business adoption
That one really applies to all the BSDs, and regular users (that's you listening to this) can help make it happen for whichever ones you use right now
Maybe Adrian can singlehandedly do all the work and make all the users happy
***
Interview - Ryan Lortie &amp;amp; Baptiste Daroussin
Porting the latest GNOME code to FreeBSD
News Roundup
Introducing resflash (http://stable.rcesoftware.com/resflash/)
If you haven't heard of resflash before, it's "a tool for building OpenBSD images for embedded and cloud environments in a programmatic, reproducible way"
One of the major benefits to images like this is the read-only filesystem, so there's no possibility of filesystem corruption if power is lost
There's an optional read-write partition as well, used for any persistent changes you want to make
You can check out the source code on Github (https://github.com/bconway/resflash) or read the main site for more info
***
Jails with iocage (http://pid1.com/posts/post10.html)
There are a growing number of FreeBSD jail management utilities: ezjail, cbsd, warden and a few others
After looking at all the different choices, the author of this blog post eventually settled on iocage (https://github.com/iocage/iocage) for the job
The post walks you through the basic configuration and usage of iocage for creating managing jails
If you've been unhappy with ezjail or some of the others, iocage might be worth giving a try instead (it also has really good ZFS integration)
***
DragonFly GPU improvements (http://lists.dragonflybsd.org/pipermail/users/2015-July/207892.html)
DragonFlyBSD continues to up their graphics game, this time with Intel's ValleyView series of CPUs
These GPUs are primarily used in the newer Atom CPUs and offer much better performance than the older ones
A git branch was created to hold the fixes for now while the last remaining bugs get fixed
Fully-accelerated Broadwell support and an update to newer DRM code are also available in the git branch, and will be merged to the main tree after some testing
***
Branchless development (http://www.tedunangst.com/flak/post/branchless-development)
Ted Unangst has a new blog post up, talking about software branches and the effects of having (or not having) them
He covers integrating and merging code, and the versioning problems that can happen with multiple people contributing at once
"For an open source project, branching is counter intuitively antisocial. For instance, I usually tell people I’m running OpenBSD, but that’s kind of a lie. I’m actually running teduBSD, which is like OpenBSD but has some changes to make it even better. Of course, you can’t have teduBSD because I’m selfish. I’m also lazy, and only inclined to make my changes work for me, not everyone else."
The solution, according to him, is bringing all the code the developers are using closer together
One big benefit is that WIP code gets tested much faster (and bugs get fixed early on)
***
Feedback/Questions
Matthew writes in (http://slexy.org/view/s21yQtBCCK)
Chris writes in (http://slexy.org/view/s21oFA80kY)
Anonymous writes in (http://slexy.org/view/s2JYvTlJlm)
Bill writes in (http://slexy.org/view/s21LXvk53z)
*** 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, gnome, gnome shell, gnome3, puns i will regret forever, doas, sudo, resflash, flashrd, nanobsd, tame, capsicum, iocage, ezjail, docker</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week we&#39;ll be talking with Ryan Lortie and Baptiste Daroussin about GNOME on BSD. Upstream development is finally treating the BSDs as a first class citizen, so we&#39;ll hear about how the recent porting efforts have been since.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source" /></a><a href="http://www.digitalocean.com/" title="DigitalOcean"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.marc.info/?l=openbsd-tech&m=143725996614627&w=2" rel="nofollow">OpenBSD presents tame</a></h3>

<ul>
<li>Theo de Raadt sent out an email detailing OpenBSD&#39;s new &quot;tame&quot; subsystem, written by Nicholas Marriott and himself, for restricting what processes can and can&#39;t do</li>
<li>When using tame, programs will switch to a &quot;restricted-service operating mode,&quot; limiting them to only the things they actually need to do</li>
<li>As for the background: &quot;Generally there are two models of operation. The first model requires a major rewrite of application software for effective use (ie. capsicum). The other model in common use lacks granularity, and allows or denies an operation throughout the entire lifetime of a process. As a result, they lack differentiation between program &#39;initialization&#39; versus &#39;main servicing loop.&#39; systrace had the same problem. My observation is that programs need a large variety of calls during initialization, but few in their main loops.&quot;</li>
<li>Some initial categories of operation include: computation, memory management, read-write operations on file descriptors, opening of files and, of course, networking</li>
<li>Restrictions can also be stacked further into the lifespan of the process, but removed abilities can never be regained (obviously)</li>
<li>Anything that tries to access resources outside of its in-place limits gets terminated with a SIGKILL or, optionally, a SIGABRT (which can produce useful core dumps for investigation)</li>
<li>Also included are 29 examples of userland programs that get additional protection with very minimal changes to the source - only 2 or 3 lines needing changed in the case of binaries like cat, ps, dmesg, etc.</li>
<li>This is an initial work-in-progress version of tame, so there may be more improvements or <a href="https://www.marc.info/?l=openbsd-tech&m=143740834710502&w=2" rel="nofollow">further</a> <a href="https://www.marc.info/?l=openbsd-tech&m=143741052411159&w=2" rel="nofollow">control</a> options added before it hits a release (very specific access policies can <a href="https://forums.grsecurity.net/viewtopic.php?f=7&t=2522" rel="nofollow">sometimes backfire</a>, however)</li>
<li>The man page, also included in the mail, provides some specifics about how to integrate tame properly into your code (which, by design, was made very easy to do - making it simple means third party programs are more likely to <em>actually use it</em>)</li>
<li>Kernel bits are <a href="https://www.marc.info/?l=openbsd-cvs&m=143727335416513&w=2" rel="nofollow">in the tree now</a>, with userland changes starting to trickle in too</li>
<li>Combined with a <a href="http://www.bsdnow.tv/episodes/2015_05_13-exclusive_disjunction" rel="nofollow">myriad of memory protections</a>, tight privilege separation and (above <a href="https://en.wikipedia.org/wiki/OpenBSD_security_features" rel="nofollow">all else</a>) good coding practices, tame should further harden the OpenBSD security fortress</li>
<li>Further <a href="https://news.ycombinator.com/item?id=9928221" rel="nofollow">discussion</a> <a href="https://www.reddit.com/r/programming/comments/3dsr0t" rel="nofollow">can</a> <a href="http://undeadly.org/cgi?action=article&sid=20150719000800&mode=flat" rel="nofollow">be</a> <a href="https://news.ycombinator.com/item?id=9909429" rel="nofollow">found</a> <a href="https://www.reddit.com/r/linux/comments/3ds66o" rel="nofollow">in</a> <a href="https://lobste.rs/s/tbbtfs" rel="nofollow">the</a> <a href="https://www.reddit.com/r/openbsd/comments/3ds64c" rel="nofollow">usual</a> <a href="https://www.reddit.com/r/BSD/comments/3ds681" rel="nofollow">places</a> you&#39;d expect
***</li>
</ul>

<h3><a href="https://wiki.freebsd.org/Docker" rel="nofollow">Using Docker on FreeBSD</a></h3>

<ul>
<li>With the experimental Docker port landing in FreeBSD a few weeks ago, some initial docs are starting to show up</li>
<li>This docker is &quot;the real thing,&quot; and isn’t using a virtual machine as the backend - as such, it has some limitations</li>
<li>The FreeBSD wiki has a page detailing how it works in general, as well as more info about those limitations</li>
<li>When running Linux containers, it will only work as well as the Linux ABI compat layer for your version of FreeBSD (11.0, or -CURRENT when we&#39;re recording this, is where all the action is for 64bit support)</li>
<li>For users on 10.X, there&#39;s also a FreeBSD container available, which allows you to use Docker as a fancy jail manager (it uses the jail subsystem internally)</li>
<li>Give it a try, let us know how you find it to be compared to other solutions
***</li>
</ul>

<h3><a href="http://www.tedunangst.com/flak/post/doas" rel="nofollow">OpenBSD imports doas, removes sudo</a></h3>

<ul>
<li>OpenBSD has included the ubiquitous &quot;sudo&quot; utility for many years now, and the current maintainer of sudo (Todd C. Miller) is also a long-time OpenBSD dev</li>
<li>The version included in the base system was much smaller than the latest current version used elsewhere, but was based on older code</li>
<li>Some internal discussion lead to the decision that sudo should probably be moved to ports now, where it can be updated easily and offer all the extra features that were missing in base (LDAP and whatnot)</li>
<li>Ted Unangst conjured up with a rewritten utility to replace it in the base system, dubbed &quot;do as,&quot; with the aim of being more simple and compact</li>
<li>There were concerns that sudo was too big and too complicated, and a quick &#39;n&#39; dirty check reveals that doas is around 350 lines of code, while sudo is around 10,000 - which would you rather have as a setuid root binary?</li>
<li>After the initial import, a number of developers began reviewing and improving various bits here and there</li>
<li>You can <a href="http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/doas/" rel="nofollow">check out the code</a> now if you&#39;re interested</li>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/doas.1" rel="nofollow">Command usage</a> and <a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/doas.conf.5" rel="nofollow">config syntax</a> seem pretty straightforward</li>
<li>More <a href="https://news.ycombinator.com/item?id=9914693" rel="nofollow">discussion</a> on HN
***</li>
</ul>

<h3><a href="https://www.reddit.com/r/freebsd/comments/3d80vt/what_would_you_like_to_see_in_freebsd/" rel="nofollow">What would you like to see in FreeBSD</a></h3>

<ul>
<li>Adrian Chadd started a reddit thread about areas in which FreeBSD could be improved, asking the community what they&#39;d like to see</li>
<li>There are over <strong>200</strong> comments that span a wide range of topics, so we&#39;ll just cover a few of the more popular requests - check the very long thread if you&#39;re interested in more</li>
<li>The top comment says things don&#39;t &quot;just work,&quot; citing failover link aggregation of LACP laggs, PPPoE issues, disorganized jail configuration options, unclear CARP configuration and userland dtrace being unstable</li>
<li>Another common one was that there are <em>three</em> firewalls in the base system, with ipfilter and pf being kinda dead now - should they be removed, and more focus put into ipfw?</li>
<li>Video drivers also came up frequently, with users hoping for better OpenGL support and support for newer graphics cards from Intel and AMD - similar comments were made about wireless chipsets as well</li>
<li>Some other replies included more clarity with pkgng output, paying more attention to security issues, updating PF to match the one in OpenBSD, improved laptop support, a graphical installer, LibreSSL in base, more focus on embedded MIPS devices, binary packages with different config options, steam support and lots more</li>
<li>At least one user suggested better &quot;marketing&quot; for FreeBSD, with more advocacy and (hopefully) more business adoption</li>
<li>That one really applies to all the BSDs, and regular users (that&#39;s you listening to this) can help make it happen for whichever ones you use <em>right now</em></li>
<li>Maybe Adrian can singlehandedly do all the work and make all the users happy
***</li>
</ul>

<h2>Interview - Ryan Lortie &amp; Baptiste Daroussin</h2>

<p>Porting the latest GNOME code to FreeBSD</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://stable.rcesoftware.com/resflash/" rel="nofollow">Introducing resflash</a></h3>

<ul>
<li>If you haven&#39;t heard of resflash before, it&#39;s &quot;a tool for building OpenBSD images for embedded and cloud environments in a programmatic, reproducible way&quot;</li>
<li>One of the major benefits to images like this is the read-only filesystem, so there&#39;s no possibility of filesystem corruption if power is lost</li>
<li>There&#39;s an optional read-write partition as well, used for any persistent changes you want to make</li>
<li>You can check out the source code <a href="https://github.com/bconway/resflash" rel="nofollow">on Github</a> or read the main site for more info
***</li>
</ul>

<h3><a href="http://pid1.com/posts/post10.html" rel="nofollow">Jails with iocage</a></h3>

<ul>
<li>There are a growing number of FreeBSD jail management utilities: ezjail, cbsd, warden and a few others</li>
<li>After looking at all the different choices, the author of this blog post eventually settled on <a href="https://github.com/iocage/iocage" rel="nofollow">iocage</a> for the job</li>
<li>The post walks you through the basic configuration and usage of iocage for creating managing jails</li>
<li>If you&#39;ve been unhappy with ezjail or some of the others, iocage might be worth giving a try instead (it also has really good ZFS integration)
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2015-July/207892.html" rel="nofollow">DragonFly GPU improvements</a></h3>

<ul>
<li>DragonFlyBSD continues to up their graphics game, this time with Intel&#39;s ValleyView series of CPUs</li>
<li>These GPUs are primarily used in the newer Atom CPUs and offer much better performance than the older ones</li>
<li>A git branch was created to hold the fixes for now while the last remaining bugs get fixed</li>
<li>Fully-accelerated Broadwell support and an update to newer DRM code are also available in the git branch, and will be merged to the main tree after some testing
***</li>
</ul>

<h3><a href="http://www.tedunangst.com/flak/post/branchless-development" rel="nofollow">Branchless development</a></h3>

<ul>
<li>Ted Unangst has a new blog post up, talking about software branches and the effects of having (or not having) them</li>
<li>He covers integrating and merging code, and the versioning problems that can happen with multiple people contributing at once</li>
<li>&quot;For an open source project, branching is counter intuitively antisocial. For instance, I usually tell people I’m running OpenBSD, but that’s kind of a lie. I’m actually running teduBSD, which is like OpenBSD but has some changes to make it even better. Of course, you can’t have teduBSD because I’m selfish. I’m also lazy, and only inclined to make my changes work for me, not everyone else.&quot;</li>
<li>The solution, according to him, is bringing all the code the developers are using closer together</li>
<li>One big benefit is that WIP code gets tested much faster (and bugs get fixed early on)
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s21yQtBCCK" rel="nofollow">Matthew writes in</a></li>
<li><a href="http://slexy.org/view/s21oFA80kY" rel="nofollow">Chris writes in</a></li>
<li><a href="http://slexy.org/view/s2JYvTlJlm" rel="nofollow">Anonymous writes in</a></li>
<li><a href="http://slexy.org/view/s21LXvk53z" rel="nofollow">Bill writes in</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week we&#39;ll be talking with Ryan Lortie and Baptiste Daroussin about GNOME on BSD. Upstream development is finally treating the BSDs as a first class citizen, so we&#39;ll hear about how the recent porting efforts have been since.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source" /></a><a href="http://www.digitalocean.com/" title="DigitalOcean"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.marc.info/?l=openbsd-tech&m=143725996614627&w=2" rel="nofollow">OpenBSD presents tame</a></h3>

<ul>
<li>Theo de Raadt sent out an email detailing OpenBSD&#39;s new &quot;tame&quot; subsystem, written by Nicholas Marriott and himself, for restricting what processes can and can&#39;t do</li>
<li>When using tame, programs will switch to a &quot;restricted-service operating mode,&quot; limiting them to only the things they actually need to do</li>
<li>As for the background: &quot;Generally there are two models of operation. The first model requires a major rewrite of application software for effective use (ie. capsicum). The other model in common use lacks granularity, and allows or denies an operation throughout the entire lifetime of a process. As a result, they lack differentiation between program &#39;initialization&#39; versus &#39;main servicing loop.&#39; systrace had the same problem. My observation is that programs need a large variety of calls during initialization, but few in their main loops.&quot;</li>
<li>Some initial categories of operation include: computation, memory management, read-write operations on file descriptors, opening of files and, of course, networking</li>
<li>Restrictions can also be stacked further into the lifespan of the process, but removed abilities can never be regained (obviously)</li>
<li>Anything that tries to access resources outside of its in-place limits gets terminated with a SIGKILL or, optionally, a SIGABRT (which can produce useful core dumps for investigation)</li>
<li>Also included are 29 examples of userland programs that get additional protection with very minimal changes to the source - only 2 or 3 lines needing changed in the case of binaries like cat, ps, dmesg, etc.</li>
<li>This is an initial work-in-progress version of tame, so there may be more improvements or <a href="https://www.marc.info/?l=openbsd-tech&m=143740834710502&w=2" rel="nofollow">further</a> <a href="https://www.marc.info/?l=openbsd-tech&m=143741052411159&w=2" rel="nofollow">control</a> options added before it hits a release (very specific access policies can <a href="https://forums.grsecurity.net/viewtopic.php?f=7&t=2522" rel="nofollow">sometimes backfire</a>, however)</li>
<li>The man page, also included in the mail, provides some specifics about how to integrate tame properly into your code (which, by design, was made very easy to do - making it simple means third party programs are more likely to <em>actually use it</em>)</li>
<li>Kernel bits are <a href="https://www.marc.info/?l=openbsd-cvs&m=143727335416513&w=2" rel="nofollow">in the tree now</a>, with userland changes starting to trickle in too</li>
<li>Combined with a <a href="http://www.bsdnow.tv/episodes/2015_05_13-exclusive_disjunction" rel="nofollow">myriad of memory protections</a>, tight privilege separation and (above <a href="https://en.wikipedia.org/wiki/OpenBSD_security_features" rel="nofollow">all else</a>) good coding practices, tame should further harden the OpenBSD security fortress</li>
<li>Further <a href="https://news.ycombinator.com/item?id=9928221" rel="nofollow">discussion</a> <a href="https://www.reddit.com/r/programming/comments/3dsr0t" rel="nofollow">can</a> <a href="http://undeadly.org/cgi?action=article&sid=20150719000800&mode=flat" rel="nofollow">be</a> <a href="https://news.ycombinator.com/item?id=9909429" rel="nofollow">found</a> <a href="https://www.reddit.com/r/linux/comments/3ds66o" rel="nofollow">in</a> <a href="https://lobste.rs/s/tbbtfs" rel="nofollow">the</a> <a href="https://www.reddit.com/r/openbsd/comments/3ds64c" rel="nofollow">usual</a> <a href="https://www.reddit.com/r/BSD/comments/3ds681" rel="nofollow">places</a> you&#39;d expect
***</li>
</ul>

<h3><a href="https://wiki.freebsd.org/Docker" rel="nofollow">Using Docker on FreeBSD</a></h3>

<ul>
<li>With the experimental Docker port landing in FreeBSD a few weeks ago, some initial docs are starting to show up</li>
<li>This docker is &quot;the real thing,&quot; and isn’t using a virtual machine as the backend - as such, it has some limitations</li>
<li>The FreeBSD wiki has a page detailing how it works in general, as well as more info about those limitations</li>
<li>When running Linux containers, it will only work as well as the Linux ABI compat layer for your version of FreeBSD (11.0, or -CURRENT when we&#39;re recording this, is where all the action is for 64bit support)</li>
<li>For users on 10.X, there&#39;s also a FreeBSD container available, which allows you to use Docker as a fancy jail manager (it uses the jail subsystem internally)</li>
<li>Give it a try, let us know how you find it to be compared to other solutions
***</li>
</ul>

<h3><a href="http://www.tedunangst.com/flak/post/doas" rel="nofollow">OpenBSD imports doas, removes sudo</a></h3>

<ul>
<li>OpenBSD has included the ubiquitous &quot;sudo&quot; utility for many years now, and the current maintainer of sudo (Todd C. Miller) is also a long-time OpenBSD dev</li>
<li>The version included in the base system was much smaller than the latest current version used elsewhere, but was based on older code</li>
<li>Some internal discussion lead to the decision that sudo should probably be moved to ports now, where it can be updated easily and offer all the extra features that were missing in base (LDAP and whatnot)</li>
<li>Ted Unangst conjured up with a rewritten utility to replace it in the base system, dubbed &quot;do as,&quot; with the aim of being more simple and compact</li>
<li>There were concerns that sudo was too big and too complicated, and a quick &#39;n&#39; dirty check reveals that doas is around 350 lines of code, while sudo is around 10,000 - which would you rather have as a setuid root binary?</li>
<li>After the initial import, a number of developers began reviewing and improving various bits here and there</li>
<li>You can <a href="http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/doas/" rel="nofollow">check out the code</a> now if you&#39;re interested</li>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/doas.1" rel="nofollow">Command usage</a> and <a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/doas.conf.5" rel="nofollow">config syntax</a> seem pretty straightforward</li>
<li>More <a href="https://news.ycombinator.com/item?id=9914693" rel="nofollow">discussion</a> on HN
***</li>
</ul>

<h3><a href="https://www.reddit.com/r/freebsd/comments/3d80vt/what_would_you_like_to_see_in_freebsd/" rel="nofollow">What would you like to see in FreeBSD</a></h3>

<ul>
<li>Adrian Chadd started a reddit thread about areas in which FreeBSD could be improved, asking the community what they&#39;d like to see</li>
<li>There are over <strong>200</strong> comments that span a wide range of topics, so we&#39;ll just cover a few of the more popular requests - check the very long thread if you&#39;re interested in more</li>
<li>The top comment says things don&#39;t &quot;just work,&quot; citing failover link aggregation of LACP laggs, PPPoE issues, disorganized jail configuration options, unclear CARP configuration and userland dtrace being unstable</li>
<li>Another common one was that there are <em>three</em> firewalls in the base system, with ipfilter and pf being kinda dead now - should they be removed, and more focus put into ipfw?</li>
<li>Video drivers also came up frequently, with users hoping for better OpenGL support and support for newer graphics cards from Intel and AMD - similar comments were made about wireless chipsets as well</li>
<li>Some other replies included more clarity with pkgng output, paying more attention to security issues, updating PF to match the one in OpenBSD, improved laptop support, a graphical installer, LibreSSL in base, more focus on embedded MIPS devices, binary packages with different config options, steam support and lots more</li>
<li>At least one user suggested better &quot;marketing&quot; for FreeBSD, with more advocacy and (hopefully) more business adoption</li>
<li>That one really applies to all the BSDs, and regular users (that&#39;s you listening to this) can help make it happen for whichever ones you use <em>right now</em></li>
<li>Maybe Adrian can singlehandedly do all the work and make all the users happy
***</li>
</ul>

<h2>Interview - Ryan Lortie &amp; Baptiste Daroussin</h2>

<p>Porting the latest GNOME code to FreeBSD</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://stable.rcesoftware.com/resflash/" rel="nofollow">Introducing resflash</a></h3>

<ul>
<li>If you haven&#39;t heard of resflash before, it&#39;s &quot;a tool for building OpenBSD images for embedded and cloud environments in a programmatic, reproducible way&quot;</li>
<li>One of the major benefits to images like this is the read-only filesystem, so there&#39;s no possibility of filesystem corruption if power is lost</li>
<li>There&#39;s an optional read-write partition as well, used for any persistent changes you want to make</li>
<li>You can check out the source code <a href="https://github.com/bconway/resflash" rel="nofollow">on Github</a> or read the main site for more info
***</li>
</ul>

<h3><a href="http://pid1.com/posts/post10.html" rel="nofollow">Jails with iocage</a></h3>

<ul>
<li>There are a growing number of FreeBSD jail management utilities: ezjail, cbsd, warden and a few others</li>
<li>After looking at all the different choices, the author of this blog post eventually settled on <a href="https://github.com/iocage/iocage" rel="nofollow">iocage</a> for the job</li>
<li>The post walks you through the basic configuration and usage of iocage for creating managing jails</li>
<li>If you&#39;ve been unhappy with ezjail or some of the others, iocage might be worth giving a try instead (it also has really good ZFS integration)
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2015-July/207892.html" rel="nofollow">DragonFly GPU improvements</a></h3>

<ul>
<li>DragonFlyBSD continues to up their graphics game, this time with Intel&#39;s ValleyView series of CPUs</li>
<li>These GPUs are primarily used in the newer Atom CPUs and offer much better performance than the older ones</li>
<li>A git branch was created to hold the fixes for now while the last remaining bugs get fixed</li>
<li>Fully-accelerated Broadwell support and an update to newer DRM code are also available in the git branch, and will be merged to the main tree after some testing
***</li>
</ul>

<h3><a href="http://www.tedunangst.com/flak/post/branchless-development" rel="nofollow">Branchless development</a></h3>

<ul>
<li>Ted Unangst has a new blog post up, talking about software branches and the effects of having (or not having) them</li>
<li>He covers integrating and merging code, and the versioning problems that can happen with multiple people contributing at once</li>
<li>&quot;For an open source project, branching is counter intuitively antisocial. For instance, I usually tell people I’m running OpenBSD, but that’s kind of a lie. I’m actually running teduBSD, which is like OpenBSD but has some changes to make it even better. Of course, you can’t have teduBSD because I’m selfish. I’m also lazy, and only inclined to make my changes work for me, not everyone else.&quot;</li>
<li>The solution, according to him, is bringing all the code the developers are using closer together</li>
<li>One big benefit is that WIP code gets tested much faster (and bugs get fixed early on)
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s21yQtBCCK" rel="nofollow">Matthew writes in</a></li>
<li><a href="http://slexy.org/view/s21oFA80kY" rel="nofollow">Chris writes in</a></li>
<li><a href="http://slexy.org/view/s2JYvTlJlm" rel="nofollow">Anonymous writes in</a></li>
<li><a href="http://slexy.org/view/s21LXvk53z" rel="nofollow">Bill writes in</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>93: Stacked in Our Favor</title>
  <link>https://www.bsdnow.tv/93</link>
  <guid isPermaLink="false">68a32090-b775-42f2-a1e5-50b8189800fa</guid>
  <pubDate>Wed, 10 Jun 2015 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/68a32090-b775-42f2-a1e5-50b8189800fa.mp3" length="49138996" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We're at BSDCan this week, but fear not! We've got a great interview with Sepherosa Ziehau, a DragonFly developer, about their network stack. After that, we'll be discussing different methods of containment and privilege separation. Assuming no polar bears eat us, we'll be back next week with more BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>1:08:14</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>We're at BSDCan this week, but fear not! We've got a great interview with Sepherosa Ziehau, a DragonFly developer, about their network stack. After that, we'll be discussing different methods of containment and privilege separation. Assuming no polar bears eat us, we'll be back next week with more BSD Now - the place to B.. SD.
This episode was brought to you by
&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;
Interview - Sepherosa Ziehau - sephe@dragonflybsd.org (mailto:sephe@dragonflybsd.org)
Features of DragonFlyBSD's network stack
Discussion
Comparing containment methods and privilege separation
chroot, jails, systrace, capsicum, filesystem permissions, separating users
***
Feedback/Questions
Brad writes in (http://slexy.org/view/s2GjCsGPef)
Anonymous writes in (http://slexy.org/view/s21jj3QgTj)
Benjamin writes in (http://slexy.org/view/s2irrhYfPT)
Jeroen writes in (http://slexy.org/view/s21gtuqXAe)
*** 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, network stack, bsdcan, systrace, capsicum, chroot, jails, privsep, casper, containers, docker, performance</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We&#39;re at BSDCan this week, but fear not! We&#39;ve got a great interview with Sepherosa Ziehau, a DragonFly developer, about their network stack. After that, we&#39;ll be discussing different methods of containment and privilege separation. Assuming no polar bears eat us, we&#39;ll be back next week with more BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source" /></a><a href="http://www.digitalocean.com/" title="DigitalOcean"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid" /></a></p>

<hr>

<h2>Interview - Sepherosa Ziehau - <a href="mailto:sephe@dragonflybsd.org" rel="nofollow">sephe@dragonflybsd.org</a></h2>

<p>Features of DragonFlyBSD&#39;s network stack</p>

<hr>

<h2>Discussion</h2>

<h3>Comparing containment methods and privilege separation</h3>

<ul>
<li>chroot, jails, systrace, capsicum, filesystem permissions, separating users
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s2GjCsGPef" rel="nofollow">Brad writes in</a></li>
<li><a href="http://slexy.org/view/s21jj3QgTj" rel="nofollow">Anonymous writes in</a></li>
<li><a href="http://slexy.org/view/s2irrhYfPT" rel="nofollow">Benjamin writes in</a></li>
<li><a href="http://slexy.org/view/s21gtuqXAe" rel="nofollow">Jeroen writes in</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We&#39;re at BSDCan this week, but fear not! We&#39;ve got a great interview with Sepherosa Ziehau, a DragonFly developer, about their network stack. After that, we&#39;ll be discussing different methods of containment and privilege separation. Assuming no polar bears eat us, we&#39;ll be back next week with more BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source" /></a><a href="http://www.digitalocean.com/" title="DigitalOcean"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid" /></a></p>

<hr>

<h2>Interview - Sepherosa Ziehau - <a href="mailto:sephe@dragonflybsd.org" rel="nofollow">sephe@dragonflybsd.org</a></h2>

<p>Features of DragonFlyBSD&#39;s network stack</p>

<hr>

<h2>Discussion</h2>

<h3>Comparing containment methods and privilege separation</h3>

<ul>
<li>chroot, jails, systrace, capsicum, filesystem permissions, separating users
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s2GjCsGPef" rel="nofollow">Brad writes in</a></li>
<li><a href="http://slexy.org/view/s21jj3QgTj" rel="nofollow">Anonymous writes in</a></li>
<li><a href="http://slexy.org/view/s2irrhYfPT" rel="nofollow">Benjamin writes in</a></li>
<li><a href="http://slexy.org/view/s21gtuqXAe" rel="nofollow">Jeroen writes in</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>90: ZFS Armistice</title>
  <link>https://www.bsdnow.tv/90</link>
  <guid isPermaLink="false">5faad566-284e-4d62-b377-5144cf232cdb</guid>
  <pubDate>Wed, 20 May 2015 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5faad566-284e-4d62-b377-5144cf232cdb.mp3" length="52647700" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This time on the show, we'll be chatting with Jed Reynolds about ZFS. He's been using it extensively on a certain other OS, and we can both learn a bit about the other side's implementation. Answers to your questions and all this week's news, coming up on BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>1:13:07</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>This time on the show, we'll be chatting with Jed Reynolds about ZFS. He's been using it extensively on a certain other OS, and we can both learn a bit about the other side's implementation. Answers to your questions and all this week's news, coming up on BSD Now - the place to B.. SD.
This episode was brought to you by
&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;
Headlines
Playing with sandboxing (http://blog.conviso.com.br/2015/05/playing-with-sandbox-analysis-of_13.html)
Sandboxing and privilege separation are popular topics these days - they're the goal of the new "shill" scripting language, they're used heavily throughout OpenBSD, and they're gaining traction with the capsicum framework
This blog post explores capsicum in FreeBSD, some of its history and where it's used in the base system
They also include some code samples so you can verify that capsicum is actually denying the program access to certain system calls
Check our interview about capsicum (http://www.bsdnow.tv/episodes/2014_05_28-the_friendly_sandbox) from a while back if you haven't seen it already
***
OpenNTPD on by default (https://www.marc.info/?l=openbsd-cvs&amp;amp;m=143195693612629&amp;amp;w=4)
OpenBSD has enabled ntpd (http://www.bsdnow.tv/episodes/2015_02_11-time_for_a_change) by default in the installer, rather than prompting the user if they want to turn it on
In nearly every case, you're going to want to have your clock synced via NTP
With the HTTPS constraints feature also enabled by default, this should keep the time checked and accurate, even against spoofing attacks
Lots of problems can be traced back to the time on one system or another being wrong, so this will also eliminate some of those cases
For those who might be curious (http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc/ntpd.conf), they're using the "pool.ntp.org (http://www.pool.ntp.org/en/)" cluster of addresses and google for HTTPS constraints (but these can be easily changed (http://www.bsdnow.tv/tutorials/ntpd))
***
FreeBSD workshop in Landshut (https://www.banym.de/freebsd/review-first-freebsd-workshop-in-landshut-on-15-may-2015)
We mentioned a BSD installfest happening in Germany a few weeks back, and the organizer wrote in with a review of the event
The installfest instead became a "FreeBSD workshop" session, introducing curious new users to some of the flagship features of the OS
They covered when to use UFS or ZFS, firewall options, the release/stable/current branches and finally how to automate installations with Ansible
If you're in south Germany and want to give similar introduction talks or Q&amp;amp;A sessions about the other BSDs, get in touch
We'll hear more from him about how it went in the feedback section today
***
Swap encryption in DragonFly (http://lists.dragonflybsd.org/pipermail/users/2015-May/207690.html)
Doing full disk encryption (http://www.bsdnow.tv/tutorials/fde) is very important, but something that people sometimes overlook is encrypting their swap
This can actually be more important than the contents of your disks, especially if an unencrypted password or key hits your swap (as it can be recovered quite easily)
DragonFlyBSD has added a new experimental option to automatically encrypt your swap partition in fstab
There was another way (http://lists.dragonflybsd.org/pipermail/users/2015-May/207691.html) to do it previously, but this is a lot easier
You can achieve similar results in FreeBSD by adding ".eli" to the end of the swap device in fstab, there are a few steps (https://www.netbsd.org/docs/misc/#cgd-swap) to do it in NetBSD and swap in OpenBSD is encrypted by default
A one-time key will be created and then destroyed in each case, making recovery of the plaintext nearly impossible
***
Interview - Jed Reynolds - jed@bitratchet.com (mailto:jed@bitratchet.com) / @jed_reynolds (https://twitter.com/jed_reynolds)
Comparing ZFS on Linux and FreeBSD
News Roundup
USB thermometer on OpenBSD (http://www.cambus.net/rding-temper-gold-usb-thermometer-on-openbsd/)
So maybe you've got BSD on your server or router, maybe NetBSD on a toaster, but have you ever used a thermometer with one?
This blog post introduces the RDing TEMPer Gold USB thermometer, a small device that can tell the room temperature, and how to get it working on OpenBSD
Wouldn't you know it, OpenBSD has a native "ugold (http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/ugold.4)" driver to support it with the sensors framework
How useful such a device would be is another story though
***
NAS4Free now on ARM (http://sourceforge.net/projects/nas4free/files/NAS4Free-ARM/10.1.0.2.1511/)
We talk a lot about hardware for network-attached storage devices on the show, but ARM doesn't come up a lot
That might be changing soon, as NAS4Free has just released some ARM builds
These new (somewhat experimental) images are based on FreeBSD 11-CURRENT
Included in the announcement is a list of fully-supported and partially-supported hardware that they've tested it with
If anyone has experience with running a NAS on slightly exotic hardware, write in to us
***
pkgsrcCon 2015 CFP and info (http://pkgsrc.pub/pkgsrcCon/2015/)
This year's pkgsrcCon will be in Berlin, Germany on July 4th and 5th (https://mail-index.netbsd.org/pkgsrc-users/2015/05/16/msg021560.html)
They're looking for talk proposals and ideas for things you'd like to see
If you or your company uses pkgsrc, or if you're just interested in NetBSD in general, it would be a good event to check out
***
BSDTalk episode 253 (http://bsdtalk.blogspot.com/2015/05/bsdtalk253-george-neville-neil.html)
BSDTalk has released another new episode
In it, he interviews George Neville-Neil about the 2nd edition of "The Design and Implementation of the FreeBSD Operating System"
They discuss what's new since the last edition, who the book's target audience is and a lot more
We're up to 90 episodes now, slowly catching up to Will...
***
Feedback/Questions
Dominik writes in (http://slexy.org/view/s2SWlyuOeb)
Brad writes in (http://slexy.org/view/s216z44lDU)
Corvin writes in (http://slexy.org/view/s2djtX0dSE)
James writes in (http://slexy.org/view/s21XM4hPRh)
*** 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, zfs, zpool, openzfs, zfsonlinux, nas4free, capsicum, systrace, arm, rfc7539, bsdrp, openntpd, landshut, pkgsrc, pkgsrccon</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This time on the show, we&#39;ll be chatting with Jed Reynolds about ZFS. He&#39;s been using it extensively on a certain other OS, and we can both learn a bit about the other side&#39;s implementation. Answers to your questions and all this week&#39;s news, coming up on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source" /></a><a href="http://www.digitalocean.com/" title="DigitalOcean"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://blog.conviso.com.br/2015/05/playing-with-sandbox-analysis-of_13.html" rel="nofollow">Playing with sandboxing</a></h3>

<ul>
<li>Sandboxing and privilege separation are popular topics these days - they&#39;re the goal of the new &quot;shill&quot; scripting language, they&#39;re used heavily throughout OpenBSD, and they&#39;re gaining traction with the capsicum framework</li>
<li>This blog post explores capsicum in FreeBSD, some of its history and where it&#39;s used in the base system</li>
<li>They also include some code samples so you can verify that capsicum is actually denying the program access to certain system calls</li>
<li>Check our <a href="http://www.bsdnow.tv/episodes/2014_05_28-the_friendly_sandbox" rel="nofollow">interview about capsicum</a> from a while back if you haven&#39;t seen it already
***</li>
</ul>

<h3><a href="https://www.marc.info/?l=openbsd-cvs&m=143195693612629&w=4" rel="nofollow">OpenNTPD on by default</a></h3>

<ul>
<li>OpenBSD has enabled <a href="http://www.bsdnow.tv/episodes/2015_02_11-time_for_a_change" rel="nofollow">ntpd</a> by default in the installer, rather than prompting the user if they want to turn it on</li>
<li>In nearly every case, you&#39;re going to want to have your clock synced via NTP</li>
<li>With the HTTPS constraints feature also enabled by default, this should keep the time checked and accurate, even against spoofing attacks</li>
<li>Lots of problems can be traced back to the time on one system or another being wrong, so this will also eliminate some of those cases</li>
<li>For those who might be <a href="http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc/ntpd.conf" rel="nofollow">curious</a>, they&#39;re using the &quot;<a href="http://www.pool.ntp.org/en/" rel="nofollow">pool.ntp.org</a>&quot; cluster of addresses and google for HTTPS constraints (but these can be <a href="http://www.bsdnow.tv/tutorials/ntpd" rel="nofollow">easily changed</a>)
***</li>
</ul>

<h3><a href="https://www.banym.de/freebsd/review-first-freebsd-workshop-in-landshut-on-15-may-2015" rel="nofollow">FreeBSD workshop in Landshut</a></h3>

<ul>
<li>We mentioned a BSD installfest happening in Germany a few weeks back, and the organizer wrote in with a review of the event</li>
<li>The installfest instead became a &quot;FreeBSD workshop&quot; session, introducing curious new users to some of the flagship features of the OS</li>
<li>They covered when to use UFS or ZFS, firewall options, the release/stable/current branches and finally how to automate installations with Ansible</li>
<li>If you&#39;re in south Germany and want to give similar introduction talks or Q&amp;A sessions about the other BSDs, get in touch</li>
<li>We&#39;ll hear more from him about how it went in the feedback section today
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2015-May/207690.html" rel="nofollow">Swap encryption in DragonFly</a></h3>

<ul>
<li>Doing <a href="http://www.bsdnow.tv/tutorials/fde" rel="nofollow">full disk encryption</a> is very important, but something that people sometimes overlook is encrypting their swap</li>
<li>This can actually be <em>more</em> important than the contents of your disks, especially if an unencrypted password or key hits your swap (as it can be recovered quite easily)</li>
<li>DragonFlyBSD has added a new experimental option to automatically encrypt your swap partition in fstab</li>
<li>There was <a href="http://lists.dragonflybsd.org/pipermail/users/2015-May/207691.html" rel="nofollow">another way</a> to do it previously, but this is a lot easier</li>
<li>You can achieve similar results in FreeBSD by adding &quot;.eli&quot; to the end of the swap device in fstab, there are <a href="https://www.netbsd.org/docs/misc/#cgd-swap" rel="nofollow">a few steps</a> to do it in NetBSD and swap in OpenBSD is encrypted by default</li>
<li>A one-time key will be created and then destroyed in each case, making recovery of the plaintext nearly impossible
***</li>
</ul>

<h2>Interview - Jed Reynolds - <a href="mailto:jed@bitratchet.com" rel="nofollow">jed@bitratchet.com</a> / <a href="https://twitter.com/jed_reynolds" rel="nofollow">@jed_reynolds</a></h2>

<p>Comparing ZFS on Linux and FreeBSD</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://www.cambus.net/rding-temper-gold-usb-thermometer-on-openbsd/" rel="nofollow">USB thermometer on OpenBSD</a></h3>

<ul>
<li>So maybe you&#39;ve got BSD on your server or router, maybe NetBSD on a toaster, but have you ever used a thermometer with one?</li>
<li>This blog post introduces the RDing TEMPer Gold USB thermometer, a small device that can tell the room temperature, and how to get it working on OpenBSD</li>
<li>Wouldn&#39;t you know it, OpenBSD has a native &quot;<a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/ugold.4" rel="nofollow">ugold</a>&quot; driver to support it with the sensors framework</li>
<li>How useful such a device would be is another story though
***</li>
</ul>

<h3><a href="http://sourceforge.net/projects/nas4free/files/NAS4Free-ARM/10.1.0.2.1511/" rel="nofollow">NAS4Free now on ARM</a></h3>

<ul>
<li>We talk a lot about hardware for network-attached storage devices on the show, but ARM doesn&#39;t come up a lot</li>
<li>That might be changing soon, as NAS4Free has just released some ARM builds</li>
<li>These new (somewhat experimental) images are based on FreeBSD 11-CURRENT</li>
<li>Included in the announcement is a list of fully-supported and partially-supported hardware that they&#39;ve tested it with</li>
<li>If anyone has experience with running a NAS on slightly exotic hardware, write in to us
***</li>
</ul>

<h3><a href="http://pkgsrc.pub/pkgsrcCon/2015/" rel="nofollow">pkgsrcCon 2015 CFP and info</a></h3>

<ul>
<li>This year&#39;s pkgsrcCon will be in Berlin, Germany <a href="https://mail-index.netbsd.org/pkgsrc-users/2015/05/16/msg021560.html" rel="nofollow">on July 4th and 5th</a></li>
<li>They&#39;re looking for talk proposals and ideas for things you&#39;d like to see</li>
<li>If you or your company uses pkgsrc, or if you&#39;re just interested in NetBSD in general, it would be a good event to check out
***</li>
</ul>

<h3><a href="http://bsdtalk.blogspot.com/2015/05/bsdtalk253-george-neville-neil.html" rel="nofollow">BSDTalk episode 253</a></h3>

<ul>
<li>BSDTalk has released another new episode</li>
<li>In it, he interviews George Neville-Neil about the 2nd edition of &quot;The Design and Implementation of the FreeBSD Operating System&quot;</li>
<li>They discuss what&#39;s new since the last edition, who the book&#39;s target audience is and a lot more</li>
<li>We&#39;re up to 90 episodes now, slowly catching up to Will...
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s2SWlyuOeb" rel="nofollow">Dominik writes in</a></li>
<li><a href="http://slexy.org/view/s216z44lDU" rel="nofollow">Brad writes in</a></li>
<li><a href="http://slexy.org/view/s2djtX0dSE" rel="nofollow">Corvin writes in</a></li>
<li><a href="http://slexy.org/view/s21XM4hPRh" rel="nofollow">James writes in</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This time on the show, we&#39;ll be chatting with Jed Reynolds about ZFS. He&#39;s been using it extensively on a certain other OS, and we can both learn a bit about the other side&#39;s implementation. Answers to your questions and all this week&#39;s news, coming up on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source" /></a><a href="http://www.digitalocean.com/" title="DigitalOcean"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://blog.conviso.com.br/2015/05/playing-with-sandbox-analysis-of_13.html" rel="nofollow">Playing with sandboxing</a></h3>

<ul>
<li>Sandboxing and privilege separation are popular topics these days - they&#39;re the goal of the new &quot;shill&quot; scripting language, they&#39;re used heavily throughout OpenBSD, and they&#39;re gaining traction with the capsicum framework</li>
<li>This blog post explores capsicum in FreeBSD, some of its history and where it&#39;s used in the base system</li>
<li>They also include some code samples so you can verify that capsicum is actually denying the program access to certain system calls</li>
<li>Check our <a href="http://www.bsdnow.tv/episodes/2014_05_28-the_friendly_sandbox" rel="nofollow">interview about capsicum</a> from a while back if you haven&#39;t seen it already
***</li>
</ul>

<h3><a href="https://www.marc.info/?l=openbsd-cvs&m=143195693612629&w=4" rel="nofollow">OpenNTPD on by default</a></h3>

<ul>
<li>OpenBSD has enabled <a href="http://www.bsdnow.tv/episodes/2015_02_11-time_for_a_change" rel="nofollow">ntpd</a> by default in the installer, rather than prompting the user if they want to turn it on</li>
<li>In nearly every case, you&#39;re going to want to have your clock synced via NTP</li>
<li>With the HTTPS constraints feature also enabled by default, this should keep the time checked and accurate, even against spoofing attacks</li>
<li>Lots of problems can be traced back to the time on one system or another being wrong, so this will also eliminate some of those cases</li>
<li>For those who might be <a href="http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc/ntpd.conf" rel="nofollow">curious</a>, they&#39;re using the &quot;<a href="http://www.pool.ntp.org/en/" rel="nofollow">pool.ntp.org</a>&quot; cluster of addresses and google for HTTPS constraints (but these can be <a href="http://www.bsdnow.tv/tutorials/ntpd" rel="nofollow">easily changed</a>)
***</li>
</ul>

<h3><a href="https://www.banym.de/freebsd/review-first-freebsd-workshop-in-landshut-on-15-may-2015" rel="nofollow">FreeBSD workshop in Landshut</a></h3>

<ul>
<li>We mentioned a BSD installfest happening in Germany a few weeks back, and the organizer wrote in with a review of the event</li>
<li>The installfest instead became a &quot;FreeBSD workshop&quot; session, introducing curious new users to some of the flagship features of the OS</li>
<li>They covered when to use UFS or ZFS, firewall options, the release/stable/current branches and finally how to automate installations with Ansible</li>
<li>If you&#39;re in south Germany and want to give similar introduction talks or Q&amp;A sessions about the other BSDs, get in touch</li>
<li>We&#39;ll hear more from him about how it went in the feedback section today
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2015-May/207690.html" rel="nofollow">Swap encryption in DragonFly</a></h3>

<ul>
<li>Doing <a href="http://www.bsdnow.tv/tutorials/fde" rel="nofollow">full disk encryption</a> is very important, but something that people sometimes overlook is encrypting their swap</li>
<li>This can actually be <em>more</em> important than the contents of your disks, especially if an unencrypted password or key hits your swap (as it can be recovered quite easily)</li>
<li>DragonFlyBSD has added a new experimental option to automatically encrypt your swap partition in fstab</li>
<li>There was <a href="http://lists.dragonflybsd.org/pipermail/users/2015-May/207691.html" rel="nofollow">another way</a> to do it previously, but this is a lot easier</li>
<li>You can achieve similar results in FreeBSD by adding &quot;.eli&quot; to the end of the swap device in fstab, there are <a href="https://www.netbsd.org/docs/misc/#cgd-swap" rel="nofollow">a few steps</a> to do it in NetBSD and swap in OpenBSD is encrypted by default</li>
<li>A one-time key will be created and then destroyed in each case, making recovery of the plaintext nearly impossible
***</li>
</ul>

<h2>Interview - Jed Reynolds - <a href="mailto:jed@bitratchet.com" rel="nofollow">jed@bitratchet.com</a> / <a href="https://twitter.com/jed_reynolds" rel="nofollow">@jed_reynolds</a></h2>

<p>Comparing ZFS on Linux and FreeBSD</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://www.cambus.net/rding-temper-gold-usb-thermometer-on-openbsd/" rel="nofollow">USB thermometer on OpenBSD</a></h3>

<ul>
<li>So maybe you&#39;ve got BSD on your server or router, maybe NetBSD on a toaster, but have you ever used a thermometer with one?</li>
<li>This blog post introduces the RDing TEMPer Gold USB thermometer, a small device that can tell the room temperature, and how to get it working on OpenBSD</li>
<li>Wouldn&#39;t you know it, OpenBSD has a native &quot;<a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/ugold.4" rel="nofollow">ugold</a>&quot; driver to support it with the sensors framework</li>
<li>How useful such a device would be is another story though
***</li>
</ul>

<h3><a href="http://sourceforge.net/projects/nas4free/files/NAS4Free-ARM/10.1.0.2.1511/" rel="nofollow">NAS4Free now on ARM</a></h3>

<ul>
<li>We talk a lot about hardware for network-attached storage devices on the show, but ARM doesn&#39;t come up a lot</li>
<li>That might be changing soon, as NAS4Free has just released some ARM builds</li>
<li>These new (somewhat experimental) images are based on FreeBSD 11-CURRENT</li>
<li>Included in the announcement is a list of fully-supported and partially-supported hardware that they&#39;ve tested it with</li>
<li>If anyone has experience with running a NAS on slightly exotic hardware, write in to us
***</li>
</ul>

<h3><a href="http://pkgsrc.pub/pkgsrcCon/2015/" rel="nofollow">pkgsrcCon 2015 CFP and info</a></h3>

<ul>
<li>This year&#39;s pkgsrcCon will be in Berlin, Germany <a href="https://mail-index.netbsd.org/pkgsrc-users/2015/05/16/msg021560.html" rel="nofollow">on July 4th and 5th</a></li>
<li>They&#39;re looking for talk proposals and ideas for things you&#39;d like to see</li>
<li>If you or your company uses pkgsrc, or if you&#39;re just interested in NetBSD in general, it would be a good event to check out
***</li>
</ul>

<h3><a href="http://bsdtalk.blogspot.com/2015/05/bsdtalk253-george-neville-neil.html" rel="nofollow">BSDTalk episode 253</a></h3>

<ul>
<li>BSDTalk has released another new episode</li>
<li>In it, he interviews George Neville-Neil about the 2nd edition of &quot;The Design and Implementation of the FreeBSD Operating System&quot;</li>
<li>They discuss what&#39;s new since the last edition, who the book&#39;s target audience is and a lot more</li>
<li>We&#39;re up to 90 episodes now, slowly catching up to Will...
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s2SWlyuOeb" rel="nofollow">Dominik writes in</a></li>
<li><a href="http://slexy.org/view/s216z44lDU" rel="nofollow">Brad writes in</a></li>
<li><a href="http://slexy.org/view/s2djtX0dSE" rel="nofollow">Corvin writes in</a></li>
<li><a href="http://slexy.org/view/s21XM4hPRh" rel="nofollow">James writes in</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>88: Below the Clouds</title>
  <link>https://www.bsdnow.tv/88</link>
  <guid isPermaLink="false">26ef6d0e-ea2a-4032-88ee-121e1b2be033</guid>
  <pubDate>Wed, 06 May 2015 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/26ef6d0e-ea2a-4032-88ee-121e1b2be033.mp3" length="67680724" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This time on the show, we'll be talking with Ed Schouten about CloudABI. It's a new application binary interface with a strong focus on isolation and restricted capabilities. As always, all this week's BSD news and answers to your emails, on BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>1:34:00</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>This time on the show, we'll be talking with Ed Schouten about CloudABI. It's a new application binary interface with a strong focus on isolation and restricted capabilities. As always, all this week's BSD news and answers to your emails, on BSD Now - the place to B.. SD.
This episode was brought to you by
&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;
Headlines
FreeBSD quarterly status report (https://www.freebsd.org/news/status/report-2015-01-2015-03.html)
The FreeBSD team has posted a report of the activities that went on between January and March of this year
As usual, it's broken down into separate reports from the various teams in the project (ports, kernel, virtualization, etc)
The ports team continuing battling the flood of PRs, closing quite a lot of them and boasting nearly 7,000 commits this quarter
The core team and cluster admins dealt with the accidental deletion of the Bugzilla database, and are making plans for an improved backup strategy within the project going forward
FreeBSD's future release support model was also finalized and published in February, which should be a big improvement for both users and the release team
Some topics are still being discussed internally, mainly MFCing ZFS ARC responsiveness patches to the 10 branch and deciding whether to maintain or abandon C89 support in the kernel code
Lots of activity is happening in bhyve, some of which we've covered recently (http://www.bsdnow.tv/episodes/2015_04_29-on_the_list), and a number of improvements were made this quarter
Clang, LLVM and LLDB have been updated to the 3.6.0 branch in -CURRENT
Work to get FreeBSD booting natively on the POWER8 CPU architecture is also still in progress, but it does boot in KVM for the time being
The project to replace forth in the bootloader with lua is in its final stages, and can be used on x86 already
ASLR work (http://www.bsdnow.tv/episodes/2014_08_27-reverse_takeover) is still being done by the HardenedBSD guys, and their next aim is position-independent executable
The report also touches on multipath TCP support, the new automounter, opaque ifnet, pkgng updates, secureboot (which should be in 10.2-RELEASE), GNOME and KDE on FreeBSD, PCIe hotplugging, nested kernel support and more
Also of note: work is going on to make ARM a Tier 1 platform in the upcoming 11.0-RELEASE (and support for more ARM boards is still being added, including ARM64)
***
OpenBSD 5.7 released (http://www.openbsd.org/57.html)
OpenBSD has formally released another new version, complete with the giant changelog we've come to expect
In the hardware department, 5.7 features many driver improvements and fixes, as well as support for some new things: USB 3.0 controllers, newer Intel and Atheros wireless cards and some additional 10gbit NICs
If you're using one of the Soekris boards, there's even a new driver (http://bodgitandscarper.co.uk/openbsd/further-soekris-net6501-improvements-for-openbsd/) to manipulate the GPIO and LEDs on them - this has some fun possibilities
Some new security improvements include: SipHash (https://en.wikipedia.org/wiki/SipHash) being sprinkled in some areas to protect hashing functions, big W^X improvements (https://www.marc.info/?l=openbsd-tech&amp;amp;m=142120787308107&amp;amp;w=2) in the kernel space, static PIE (http://www.bsdnow.tv/episodes/2015_04_15-pie_in_the_sky) on all architectures, deterministic "random" functions being replaced (https://www.marc.info/?l=openbsd-tech&amp;amp;m=141807224826859&amp;amp;w=2) with strong randomness, and support for remote logging over TLS
The entire source tree has also been audited to use reallocarray (http://lteo.net/blog/2014/10/28/reallocarray-in-openbsd-integer-overflow-detection-for-free/), which unintentionally saved (https://splone.com/blog/2015/3/11/integer-overflow-prevention-in-c) OpenBSD's libc from being vulnerable to earlier attacks (https://guidovranken.wordpress.com/2015/02/04/full-disclosure-heap-overflow-in-h-spencers-regex-library-on-32-bit-systems/) affecting other BSDs' implementations
Being that it's OpenBSD, a number of things have also been removed from the base system: procfs, sendmail, SSLv3 support and loadable kernel modules are all gone now (not to mention the continuing massacre of dead code in LibreSSL)
Some people seem to be surprised about the removal of loadable modules, but almost nothing utilized them in OpenBSD, so it was really just removing old code that no one used anymore - very different from FreeBSD or Linux in this regard, where kernel modules are used pretty heavily
BIND and nginx have been taken out, so you'll need to either use the versions in ports or switch to Unbound and the in-base HTTP daemon
Speaking of httpd, it's gotten a number of new (http://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.pdf) features (http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/httpd.conf.5), and has had time to grow and mature since its initial debut - if you've been considering trying it out, now would be a great time to do so
This release also includes the latest OpenSSH (with stronger fingerprint types and host key rotation), OpenNTPD (with the HTTPS constraints feature), OpenSMTPD, LibreSSL and mandoc (http://www.bsdnow.tv/episodes/2014_11_12-a_mans_man)
Check the errata page (http://www.openbsd.org/errata57.html) for any post-release fixes, and the upgrade guide (http://www.openbsd.org/faq/upgrade57.html) for specific instructions on updating from 5.6
Groundwork has also been laid for some major SMP scalability improvements - look forward to those in future releases
There's a song and artwork (http://www.openbsd.org/lyrics.html#57) to go along with the release as always, and CDs should be arriving within a few days - we'll show some pictures next week
Consider picking one up (https://www.openbsdstore.com) to support the project (and it's the only way to get puffy stickers)
For those of you paying close attention, the banner image (http://www.openbsd.org/images/puffy57.gif) for this release just might remind you of a certain special episode (http://www.bsdnow.tv/episodes/2014_09_03-its_hammer_time) of BSD Now...
***
Tor-BSD diversity project (https://torbsd.github.io/)
We've talked about Tor on the show a few times, and specifically about getting more of the network on BSD (Linux has an overwhelming majority right now)
A new initiative has started to do just that, called the Tor-BSD diversity project
"Monocultures in nature are dangerous, as vulnerabilities are held in common across a broad spectrum. Diversity means single vulnerabilities are less likely to harm the entire ecosystem. [...] A single kernel vulnerability in GNU/Linux that impacting Tor relays could be devastating. We want to see a stronger Tor network, and we believe one critical ingredient for that is operating system diversity."
In addition to encouraging people to put up more relays, they're also continuing work on porting the Tor Browser Bundle to BSD, so more desktop users can have easy access to online privacy
There's an additional progress report (http://trac.haqistan.net/blog/tor-browser-ports-progress) for that part specifically, and it looks like most of the work is done now
Engaging the broader BSD community about Tor and fixing up the official documentation are also both on their todo list 
If you've been considering running a node to help out, there's always our handy tutorial (http://www.bsdnow.tv/tutorials/tor) on getting set up
***
PC-BSD 10.1.2-RC1 released (http://blog.pcbsd.org/2015/05/pc-bsd-10-1-2-rc1-now-available/)
If you want a sneak peek at the upcoming PC-BSD 10.1.2, the first release candidate is now available to grab
This quarterly update includes a number of new features, improvements and even some additional utilities
PersonaCrypt is one of them - it's a new tool for easily migrating encrypted home directories between systems
A new "stealth mode" option allows for a one-time login, using a blank home directory that gets wiped after use
Similarly, a new "Tor mode" allows for easy tunneling of all your traffic through the Tor network
IPFW is now the default firewall, offering improved VIMAGE capabilities
The life preserver backup tool now allows for bare-metal restores via the install CD
ISC's NTP daemon has been replaced with OpenNTPD (http://www.bsdnow.tv/episodes/2015_02_11-time_for_a_change), and OpenSSL has been replaced with LibreSSL (http://www.bsdnow.tv/episodes/2015_03_25-ssl_in_the_wild)
It also includes the latest Lumina (http://www.bsdnow.tv/episodes/2014_09_10-luminary_environment) desktop, and there's another post dedicated to that (http://blog.pcbsd.org/2015/05/pc-bsd-10-1-2-rc1-lumina-desktop-0-8-4-released/)
Binary packages have also been updated to fresh versions from the ports tree
More details, including upgrade instructions, can be found in the linked blog post
***
Interview - Ed Schouten - ed@freebsd.org (mailto:ed@freebsd.org) / @edschouten (https://twitter.com/edschouten)
CloudABI (https://www.bsdcan.org/2015/schedule/track/Security/524.en.html)
News Roundup
Open Household Router Contraption (http://code.saghul.net/index.php/2015/05/01/announcing-the-open-household-router-contraption/)
This article introduces OpenHRC, the "Open Household Router Contraption"
In short, it's a set of bootstrapping scripts to turn a vanilla OpenBSD install into a feature-rich gateway device
It also makes use of Ansible playbooks for configuration, allowing for a more "mass deployment" type of setup
Everything is configured via a simple text file, and you end up with a local NTP server, DHCP server, firewall (obviously) and local caching DNS resolver - it even does DNSSEC validation
All the code is open source and on Github (https://github.com/ioc32/openhrc), so you can read through what's actually being changed and put in place
There's also a video guide (https://www.youtube.com/watch?v=LZeKDM5jc90) to the entire process, if you're more of a visual person
***
OPNsense 15.1.10 released (https://forum.opnsense.org/index.php?topic=365.0)
Speaking of BSD routers, if you're looking for a "prebuilt and ready to go" option, OPNsense has just released a new version
15.1.10 drops some of the legacy patches they inherited from pfSense, aiming to stay closer to the mainline FreeBSD source code
Going along with this theme, they've redone how they do ports, and are now kept totally in sync with the regular ports tree
Their binary packages are now signed using the fingerprint-style method, various GUI menus have been rewritten and a number of other bugs were fixed
NanoBSD-based images are also available now, so you can try it out on hardware with constrained resources as well
Version 15.1.10.1 (https://twitter.com/opnsense/status/596009164746432512) was released shortly thereafter, including a hotfix for VLANs
***
IBM Workpad Z50 and NetBSD (https://www.ibm.com/developerworks/community/blogs/hpcgoulash/entry/ibm_workpad_z50_netbsd_an_interesting_combination1?lang=en)
Before the infamous netbook fad came and went, IBM had a handheld PDA device that looked pretty much the same
Back in 1999, they released the Workpad Z50 (http://www.hpcfactor.com/reviews/hardware/ibm/workpad-z50/) with Windows CE, sporting a 131MHz MIPS CPU, 16MB of RAM and a 640x480 display
You can probably tell where this is going... the article is about installing NetBSD it
"What prevents me from taking my pristine Workpad z50 to the local electronics recycling  facility is NetBSD. With a little effort it is possible to install recent versions of NetBSD on the Workpad z50 and even have XWindows running"
The author got pkgsrc up and running on it too, and cleverly used distcc to offload the compiling jobs to something a bit more modern
He's also got a couple (https://www.youtube.com/watch?v=hSLVnSZKB9I) videos (https://www.youtube.com/watch?v=mIA-NWEHLM4) of the bootup process and running Xorg (neither of which we'd call "speedy" by any stretch of the imagination)
***
FreeBSD from the trenches (http://freebsdfoundation.blogspot.com/2015/04/from-trenches-tips-tricks-edition.html)
The FreeBSD foundation has a new blog post up in their "from the trenches" series, detailing FreeBSD in some real-world use cases
In this installment, Glen Barber talks about how he sets up all his laptops with ZFS and GELI
While the installer allows for an automatic ZFS layout, Glen notes that it's not a one-size-fits-all thing, and goes through doing everything manually
Each command is explained, and he walks you through the process of doing an encrypted installation (http://www.bsdnow.tv/tutorials/fde) on your root zpool
***
Broadwell in DragonFly (http://lists.dragonflybsd.org/pipermail/users/2015-May/207671.html)
DragonFlyBSD has officially won the race to get an Intel Broadwell graphics driver
Their i915 driver has been brought up to speed with Linux 3.14's, adding not only Broadwell support, but many other bugfixes for other cards too
It's planned for commit to the main tree very soon, but you can test it out with a git branch for the time being
***
Feedback/Questions
Bostjan writes in (http://slexy.org/view/s216QQcHyX)
Hunter writes in (http://slexy.org/view/s21hGSk3c0)
Hrishi writes in (http://slexy.org/view/s20JwPw9Je)
Clint writes in (http://slexy.org/view/s2x1GYr7y6)
Sergei writes in (http://slexy.org/view/s2swXxr2PX)
***
Mailing List Gold
How did you guess (https://lists.freebsd.org/pipermail/freebsd-advocacy/2015-May/004541.html)
*** 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, 5.7, libressl, opensmtpd, openntpd, openssh, cloudabi, capsicum, 5.7, tor-bsd, tor, diversity, browser bundle, ipfw, openhrc, opnsense, router, workpad z50, gateway</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This time on the show, we&#39;ll be talking with Ed Schouten about CloudABI. It&#39;s a new application binary interface with a strong focus on isolation and restricted capabilities. As always, all this week&#39;s BSD news and answers to your emails, on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source" /></a><a href="http://www.digitalocean.com/" title="DigitalOcean"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2015-01-2015-03.html" rel="nofollow">FreeBSD quarterly status report</a></h3>

<ul>
<li>The FreeBSD team has posted a report of the activities that went on between January and March of this year</li>
<li>As usual, it&#39;s broken down into separate reports from the various teams in the project (ports, kernel, virtualization, etc)</li>
<li>The ports team continuing battling the flood of PRs, closing quite a lot of them and boasting nearly 7,000 commits this quarter</li>
<li>The core team and cluster admins dealt with the accidental deletion of the Bugzilla database, and are making plans for an improved backup strategy within the project going forward</li>
<li>FreeBSD&#39;s future release support model was also finalized and published in February, which should be a big improvement for both users and the release team</li>
<li>Some topics are still being discussed internally, mainly MFCing ZFS ARC responsiveness patches to the 10 branch and deciding whether to maintain or abandon C89 support in the kernel code</li>
<li>Lots of activity is happening in bhyve, some of which we&#39;ve covered <a href="http://www.bsdnow.tv/episodes/2015_04_29-on_the_list" rel="nofollow">recently</a>, and a number of improvements were made this quarter</li>
<li>Clang, LLVM and LLDB have been updated to the 3.6.0 branch in -CURRENT</li>
<li>Work to get FreeBSD booting natively on the POWER8 CPU architecture is also still in progress, but it does boot in KVM for the time being</li>
<li>The project to replace forth in the bootloader with lua is in its final stages, and can be used on x86 already</li>
<li><a href="http://www.bsdnow.tv/episodes/2014_08_27-reverse_takeover" rel="nofollow">ASLR work</a> is still being done by the HardenedBSD guys, and their next aim is position-independent executable</li>
<li>The report also touches on multipath TCP support, the new automounter, opaque ifnet, pkgng updates, secureboot (which should be in 10.2-RELEASE), GNOME and KDE on FreeBSD, PCIe hotplugging, nested kernel support and more</li>
<li>Also of note: work is going on to make ARM a Tier 1 platform in the upcoming 11.0-RELEASE (and support for more ARM boards is still being added, including ARM64)
***</li>
</ul>

<h3><a href="http://www.openbsd.org/57.html" rel="nofollow">OpenBSD 5.7 released</a></h3>

<ul>
<li>OpenBSD has formally released another new version, complete with the giant changelog we&#39;ve come to expect</li>
<li>In the hardware department, 5.7 features many driver improvements and fixes, as well as support for some new things: USB 3.0 controllers, newer Intel and Atheros wireless cards and some additional 10gbit NICs</li>
<li>If you&#39;re using one of the Soekris boards, there&#39;s even <a href="http://bodgitandscarper.co.uk/openbsd/further-soekris-net6501-improvements-for-openbsd/" rel="nofollow">a new driver</a> to manipulate the GPIO and LEDs on them - this has some fun possibilities</li>
<li>Some new security improvements include: <a href="https://en.wikipedia.org/wiki/SipHash" rel="nofollow">SipHash</a> being sprinkled in some areas to protect hashing functions, big <a href="https://www.marc.info/?l=openbsd-tech&m=142120787308107&w=2" rel="nofollow">W<sup>X</sup> improvements</a> in the kernel space, <a href="http://www.bsdnow.tv/episodes/2015_04_15-pie_in_the_sky" rel="nofollow">static PIE</a> on all architectures, deterministic &quot;random&quot; functions <a href="https://www.marc.info/?l=openbsd-tech&m=141807224826859&w=2" rel="nofollow">being replaced</a> with strong randomness, and support for remote logging over TLS</li>
<li>The entire source tree has also been audited to use <a href="http://lteo.net/blog/2014/10/28/reallocarray-in-openbsd-integer-overflow-detection-for-free/" rel="nofollow">reallocarray</a>, which unintentionally <a href="https://splone.com/blog/2015/3/11/integer-overflow-prevention-in-c" rel="nofollow">saved</a> OpenBSD&#39;s libc from being vulnerable to <a href="https://guidovranken.wordpress.com/2015/02/04/full-disclosure-heap-overflow-in-h-spencers-regex-library-on-32-bit-systems/" rel="nofollow">earlier attacks</a> affecting other BSDs&#39; implementations</li>
<li>Being that it&#39;s OpenBSD, a number of things have also been <em>removed</em> from the base system: procfs, sendmail, SSLv3 support and loadable kernel modules are all gone now (not to mention the continuing massacre of dead code in LibreSSL)</li>
<li>Some people seem to be surprised about the removal of loadable modules, but almost nothing utilized them in OpenBSD, so it was really just removing old code that no one used anymore - very different from FreeBSD or Linux in this regard, where kernel modules are used pretty heavily</li>
<li>BIND and nginx have been taken out, so you&#39;ll need to either use the versions in ports or switch to Unbound and the in-base HTTP daemon</li>
<li>Speaking of httpd, it&#39;s gotten a number of <a href="http://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.pdf" rel="nofollow">new</a> <a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/httpd.conf.5" rel="nofollow">features</a>, and has had time to grow and mature since its initial debut - if you&#39;ve been considering trying it out, now would be a great time to do so</li>
<li>This release also includes the latest OpenSSH (with stronger fingerprint types and host key rotation), OpenNTPD (with the HTTPS constraints feature), OpenSMTPD, LibreSSL and <a href="http://www.bsdnow.tv/episodes/2014_11_12-a_mans_man" rel="nofollow">mandoc</a></li>
<li>Check the <a href="http://www.openbsd.org/errata57.html" rel="nofollow">errata page</a> for any post-release fixes, and the <a href="http://www.openbsd.org/faq/upgrade57.html" rel="nofollow">upgrade guide</a> for specific instructions on updating from 5.6</li>
<li>Groundwork has also been laid for some major SMP scalability improvements - look forward to those in future releases</li>
<li>There&#39;s a <a href="http://www.openbsd.org/lyrics.html#57" rel="nofollow">song and artwork</a> to go along with the release as always, and CDs should be arriving within a few days - we&#39;ll show some pictures next week</li>
<li>Consider <a href="https://www.openbsdstore.com" rel="nofollow">picking one up</a> to support the project (and it&#39;s the only way to get puffy stickers)</li>
<li>For those of you paying close attention, the <a href="http://www.openbsd.org/images/puffy57.gif" rel="nofollow">banner image</a> for this release just might remind you of a <a href="http://www.bsdnow.tv/episodes/2014_09_03-its_hammer_time" rel="nofollow">certain special episode</a> of BSD Now...
***</li>
</ul>

<h3><a href="https://torbsd.github.io/" rel="nofollow">Tor-BSD diversity project</a></h3>

<ul>
<li>We&#39;ve talked about Tor on the show a few times, and specifically about getting more of the network on BSD (Linux has an overwhelming majority right now)</li>
<li>A new initiative has started to do just that, called the Tor-BSD diversity project</li>
<li>&quot;Monocultures in nature are dangerous, as vulnerabilities are held in common across a broad spectrum. Diversity means single vulnerabilities are less likely to harm the entire ecosystem. [...] A single kernel vulnerability in GNU/Linux that impacting Tor relays could be devastating. We want to see a stronger Tor network, and we believe one critical ingredient for that is operating system diversity.&quot;</li>
<li>In addition to encouraging people to put up more relays, they&#39;re also continuing work on porting the Tor Browser Bundle to BSD, so more desktop users can have easy access to online privacy</li>
<li>There&#39;s an additional <a href="http://trac.haqistan.net/blog/tor-browser-ports-progress" rel="nofollow">progress report</a> for that part specifically, and it looks like most of the work is done now</li>
<li>Engaging the broader BSD community about Tor and fixing up the official documentation are also both on their todo list </li>
<li>If you&#39;ve been considering running a node to help out, there&#39;s always <a href="http://www.bsdnow.tv/tutorials/tor" rel="nofollow">our handy tutorial</a> on getting set up
***</li>
</ul>

<h3><a href="http://blog.pcbsd.org/2015/05/pc-bsd-10-1-2-rc1-now-available/" rel="nofollow">PC-BSD 10.1.2-RC1 released</a></h3>

<ul>
<li>If you want a sneak peek at the upcoming PC-BSD 10.1.2, the first release candidate is now available to grab</li>
<li>This quarterly update includes a number of new features, improvements and even some additional utilities</li>
<li>PersonaCrypt is one of them - it&#39;s a new tool for easily migrating encrypted home directories between systems</li>
<li>A new &quot;stealth mode&quot; option allows for a one-time login, using a blank home directory that gets wiped after use</li>
<li>Similarly, a new &quot;Tor mode&quot; allows for easy tunneling of all your traffic through the Tor network</li>
<li>IPFW is now the default firewall, offering improved VIMAGE capabilities</li>
<li>The life preserver backup tool now allows for bare-metal restores via the install CD</li>
<li>ISC&#39;s NTP daemon has been replaced with <a href="http://www.bsdnow.tv/episodes/2015_02_11-time_for_a_change" rel="nofollow">OpenNTPD</a>, and OpenSSL has been replaced with <a href="http://www.bsdnow.tv/episodes/2015_03_25-ssl_in_the_wild" rel="nofollow">LibreSSL</a></li>
<li>It also includes the latest <a href="http://www.bsdnow.tv/episodes/2014_09_10-luminary_environment" rel="nofollow">Lumina</a> desktop, and there&#39;s another <a href="http://blog.pcbsd.org/2015/05/pc-bsd-10-1-2-rc1-lumina-desktop-0-8-4-released/" rel="nofollow">post dedicated to that</a></li>
<li>Binary packages have also been updated to fresh versions from the ports tree</li>
<li>More details, including upgrade instructions, can be found in the linked blog post
***</li>
</ul>

<h2>Interview - Ed Schouten - <a href="mailto:ed@freebsd.org" rel="nofollow">ed@freebsd.org</a> / <a href="https://twitter.com/edschouten" rel="nofollow">@edschouten</a></h2>

<p><a href="https://www.bsdcan.org/2015/schedule/track/Security/524.en.html" rel="nofollow">CloudABI</a></p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://code.saghul.net/index.php/2015/05/01/announcing-the-open-household-router-contraption/" rel="nofollow">Open Household Router Contraption</a></h3>

<ul>
<li>This article introduces OpenHRC, the &quot;Open Household Router Contraption&quot;</li>
<li>In short, it&#39;s a set of bootstrapping scripts to turn a vanilla OpenBSD install into a feature-rich gateway device</li>
<li>It also makes use of Ansible playbooks for configuration, allowing for a more &quot;mass deployment&quot; type of setup</li>
<li>Everything is configured via a simple text file, and you end up with a local NTP server, DHCP server, firewall (obviously) and local caching DNS resolver - it even does DNSSEC validation</li>
<li>All the code is open source <a href="https://github.com/ioc32/openhrc" rel="nofollow">and on Github</a>, so you can read through what&#39;s actually being changed and put in place</li>
<li>There&#39;s also a <a href="https://www.youtube.com/watch?v=LZeKDM5jc90" rel="nofollow">video guide</a> to the entire process, if you&#39;re more of a visual person
***</li>
</ul>

<h3><a href="https://forum.opnsense.org/index.php?topic=365.0" rel="nofollow">OPNsense 15.1.10 released</a></h3>

<ul>
<li>Speaking of BSD routers, if you&#39;re looking for a &quot;prebuilt and ready to go&quot; option, OPNsense has just released a new version</li>
<li>15.1.10 drops some of the legacy patches they inherited from pfSense, aiming to stay closer to the mainline FreeBSD source code</li>
<li>Going along with this theme, they&#39;ve redone how they do ports, and are now kept totally in sync with the regular ports tree</li>
<li>Their binary packages are now signed using the fingerprint-style method, various GUI menus have been rewritten and a number of other bugs were fixed</li>
<li>NanoBSD-based images are also available now, so you can try it out on hardware with constrained resources as well</li>
<li>Version <a href="https://twitter.com/opnsense/status/596009164746432512" rel="nofollow">15.1.10.1</a> was released shortly thereafter, including a hotfix for VLANs
***</li>
</ul>

<h3><a href="https://www.ibm.com/developerworks/community/blogs/hpcgoulash/entry/ibm_workpad_z50_netbsd_an_interesting_combination1?lang=en" rel="nofollow">IBM Workpad Z50 and NetBSD</a></h3>

<ul>
<li>Before the infamous netbook fad came and went, IBM had a handheld PDA device that looked pretty much the same</li>
<li>Back in 1999, they released <a href="http://www.hpcfactor.com/reviews/hardware/ibm/workpad-z50/" rel="nofollow">the Workpad Z50</a> with Windows CE, sporting a 131MHz MIPS CPU, 16MB of RAM and a 640x480 display</li>
<li>You can probably tell where this is going... the article is about installing NetBSD it</li>
<li>&quot;What prevents me from taking my pristine Workpad z50 to the local electronics recycling  facility is NetBSD. With a little effort it is possible to install recent versions of NetBSD on the Workpad z50 and even have XWindows running&quot;</li>
<li>The author got pkgsrc up and running on it too, and cleverly used distcc to offload the compiling jobs to something a bit more modern</li>
<li>He&#39;s also got a <a href="https://www.youtube.com/watch?v=hSLVnSZKB9I" rel="nofollow">couple</a> <a href="https://www.youtube.com/watch?v=mIA-NWEHLM4" rel="nofollow">videos</a> of the bootup process and running Xorg (neither of which we&#39;d call &quot;speedy&quot; by any stretch of the imagination)
***</li>
</ul>

<h3><a href="http://freebsdfoundation.blogspot.com/2015/04/from-trenches-tips-tricks-edition.html" rel="nofollow">FreeBSD from the trenches</a></h3>

<ul>
<li>The FreeBSD foundation has a new blog post up in their &quot;from the trenches&quot; series, detailing FreeBSD in some real-world use cases</li>
<li>In this installment, Glen Barber talks about how he sets up all his laptops with ZFS and GELI</li>
<li>While the installer allows for an automatic ZFS layout, Glen notes that it&#39;s not a one-size-fits-all thing, and goes through doing everything manually</li>
<li>Each command is explained, and he walks you through the process of doing <a href="http://www.bsdnow.tv/tutorials/fde" rel="nofollow">an encrypted installation</a> on your root zpool
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2015-May/207671.html" rel="nofollow">Broadwell in DragonFly</a></h3>

<ul>
<li>DragonFlyBSD has officially won the race to get an Intel Broadwell graphics driver</li>
<li>Their i915 driver has been brought up to speed with Linux 3.14&#39;s, adding not only Broadwell support, but many other bugfixes for other cards too</li>
<li>It&#39;s planned for commit to the main tree very soon, but you can test it out with a git branch for the time being
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s216QQcHyX" rel="nofollow">Bostjan writes in</a></li>
<li><a href="http://slexy.org/view/s21hGSk3c0" rel="nofollow">Hunter writes in</a></li>
<li><a href="http://slexy.org/view/s20JwPw9Je" rel="nofollow">Hrishi writes in</a></li>
<li><a href="http://slexy.org/view/s2x1GYr7y6" rel="nofollow">Clint writes in</a></li>
<li><a href="http://slexy.org/view/s2swXxr2PX" rel="nofollow">Sergei writes in</a>
***</li>
</ul>

<h2>Mailing List Gold</h2>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-advocacy/2015-May/004541.html" rel="nofollow">How did you guess</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This time on the show, we&#39;ll be talking with Ed Schouten about CloudABI. It&#39;s a new application binary interface with a strong focus on isolation and restricted capabilities. As always, all this week&#39;s BSD news and answers to your emails, on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source" /></a><a href="http://www.digitalocean.com/" title="DigitalOcean"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2015-01-2015-03.html" rel="nofollow">FreeBSD quarterly status report</a></h3>

<ul>
<li>The FreeBSD team has posted a report of the activities that went on between January and March of this year</li>
<li>As usual, it&#39;s broken down into separate reports from the various teams in the project (ports, kernel, virtualization, etc)</li>
<li>The ports team continuing battling the flood of PRs, closing quite a lot of them and boasting nearly 7,000 commits this quarter</li>
<li>The core team and cluster admins dealt with the accidental deletion of the Bugzilla database, and are making plans for an improved backup strategy within the project going forward</li>
<li>FreeBSD&#39;s future release support model was also finalized and published in February, which should be a big improvement for both users and the release team</li>
<li>Some topics are still being discussed internally, mainly MFCing ZFS ARC responsiveness patches to the 10 branch and deciding whether to maintain or abandon C89 support in the kernel code</li>
<li>Lots of activity is happening in bhyve, some of which we&#39;ve covered <a href="http://www.bsdnow.tv/episodes/2015_04_29-on_the_list" rel="nofollow">recently</a>, and a number of improvements were made this quarter</li>
<li>Clang, LLVM and LLDB have been updated to the 3.6.0 branch in -CURRENT</li>
<li>Work to get FreeBSD booting natively on the POWER8 CPU architecture is also still in progress, but it does boot in KVM for the time being</li>
<li>The project to replace forth in the bootloader with lua is in its final stages, and can be used on x86 already</li>
<li><a href="http://www.bsdnow.tv/episodes/2014_08_27-reverse_takeover" rel="nofollow">ASLR work</a> is still being done by the HardenedBSD guys, and their next aim is position-independent executable</li>
<li>The report also touches on multipath TCP support, the new automounter, opaque ifnet, pkgng updates, secureboot (which should be in 10.2-RELEASE), GNOME and KDE on FreeBSD, PCIe hotplugging, nested kernel support and more</li>
<li>Also of note: work is going on to make ARM a Tier 1 platform in the upcoming 11.0-RELEASE (and support for more ARM boards is still being added, including ARM64)
***</li>
</ul>

<h3><a href="http://www.openbsd.org/57.html" rel="nofollow">OpenBSD 5.7 released</a></h3>

<ul>
<li>OpenBSD has formally released another new version, complete with the giant changelog we&#39;ve come to expect</li>
<li>In the hardware department, 5.7 features many driver improvements and fixes, as well as support for some new things: USB 3.0 controllers, newer Intel and Atheros wireless cards and some additional 10gbit NICs</li>
<li>If you&#39;re using one of the Soekris boards, there&#39;s even <a href="http://bodgitandscarper.co.uk/openbsd/further-soekris-net6501-improvements-for-openbsd/" rel="nofollow">a new driver</a> to manipulate the GPIO and LEDs on them - this has some fun possibilities</li>
<li>Some new security improvements include: <a href="https://en.wikipedia.org/wiki/SipHash" rel="nofollow">SipHash</a> being sprinkled in some areas to protect hashing functions, big <a href="https://www.marc.info/?l=openbsd-tech&m=142120787308107&w=2" rel="nofollow">W<sup>X</sup> improvements</a> in the kernel space, <a href="http://www.bsdnow.tv/episodes/2015_04_15-pie_in_the_sky" rel="nofollow">static PIE</a> on all architectures, deterministic &quot;random&quot; functions <a href="https://www.marc.info/?l=openbsd-tech&m=141807224826859&w=2" rel="nofollow">being replaced</a> with strong randomness, and support for remote logging over TLS</li>
<li>The entire source tree has also been audited to use <a href="http://lteo.net/blog/2014/10/28/reallocarray-in-openbsd-integer-overflow-detection-for-free/" rel="nofollow">reallocarray</a>, which unintentionally <a href="https://splone.com/blog/2015/3/11/integer-overflow-prevention-in-c" rel="nofollow">saved</a> OpenBSD&#39;s libc from being vulnerable to <a href="https://guidovranken.wordpress.com/2015/02/04/full-disclosure-heap-overflow-in-h-spencers-regex-library-on-32-bit-systems/" rel="nofollow">earlier attacks</a> affecting other BSDs&#39; implementations</li>
<li>Being that it&#39;s OpenBSD, a number of things have also been <em>removed</em> from the base system: procfs, sendmail, SSLv3 support and loadable kernel modules are all gone now (not to mention the continuing massacre of dead code in LibreSSL)</li>
<li>Some people seem to be surprised about the removal of loadable modules, but almost nothing utilized them in OpenBSD, so it was really just removing old code that no one used anymore - very different from FreeBSD or Linux in this regard, where kernel modules are used pretty heavily</li>
<li>BIND and nginx have been taken out, so you&#39;ll need to either use the versions in ports or switch to Unbound and the in-base HTTP daemon</li>
<li>Speaking of httpd, it&#39;s gotten a number of <a href="http://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.pdf" rel="nofollow">new</a> <a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/httpd.conf.5" rel="nofollow">features</a>, and has had time to grow and mature since its initial debut - if you&#39;ve been considering trying it out, now would be a great time to do so</li>
<li>This release also includes the latest OpenSSH (with stronger fingerprint types and host key rotation), OpenNTPD (with the HTTPS constraints feature), OpenSMTPD, LibreSSL and <a href="http://www.bsdnow.tv/episodes/2014_11_12-a_mans_man" rel="nofollow">mandoc</a></li>
<li>Check the <a href="http://www.openbsd.org/errata57.html" rel="nofollow">errata page</a> for any post-release fixes, and the <a href="http://www.openbsd.org/faq/upgrade57.html" rel="nofollow">upgrade guide</a> for specific instructions on updating from 5.6</li>
<li>Groundwork has also been laid for some major SMP scalability improvements - look forward to those in future releases</li>
<li>There&#39;s a <a href="http://www.openbsd.org/lyrics.html#57" rel="nofollow">song and artwork</a> to go along with the release as always, and CDs should be arriving within a few days - we&#39;ll show some pictures next week</li>
<li>Consider <a href="https://www.openbsdstore.com" rel="nofollow">picking one up</a> to support the project (and it&#39;s the only way to get puffy stickers)</li>
<li>For those of you paying close attention, the <a href="http://www.openbsd.org/images/puffy57.gif" rel="nofollow">banner image</a> for this release just might remind you of a <a href="http://www.bsdnow.tv/episodes/2014_09_03-its_hammer_time" rel="nofollow">certain special episode</a> of BSD Now...
***</li>
</ul>

<h3><a href="https://torbsd.github.io/" rel="nofollow">Tor-BSD diversity project</a></h3>

<ul>
<li>We&#39;ve talked about Tor on the show a few times, and specifically about getting more of the network on BSD (Linux has an overwhelming majority right now)</li>
<li>A new initiative has started to do just that, called the Tor-BSD diversity project</li>
<li>&quot;Monocultures in nature are dangerous, as vulnerabilities are held in common across a broad spectrum. Diversity means single vulnerabilities are less likely to harm the entire ecosystem. [...] A single kernel vulnerability in GNU/Linux that impacting Tor relays could be devastating. We want to see a stronger Tor network, and we believe one critical ingredient for that is operating system diversity.&quot;</li>
<li>In addition to encouraging people to put up more relays, they&#39;re also continuing work on porting the Tor Browser Bundle to BSD, so more desktop users can have easy access to online privacy</li>
<li>There&#39;s an additional <a href="http://trac.haqistan.net/blog/tor-browser-ports-progress" rel="nofollow">progress report</a> for that part specifically, and it looks like most of the work is done now</li>
<li>Engaging the broader BSD community about Tor and fixing up the official documentation are also both on their todo list </li>
<li>If you&#39;ve been considering running a node to help out, there&#39;s always <a href="http://www.bsdnow.tv/tutorials/tor" rel="nofollow">our handy tutorial</a> on getting set up
***</li>
</ul>

<h3><a href="http://blog.pcbsd.org/2015/05/pc-bsd-10-1-2-rc1-now-available/" rel="nofollow">PC-BSD 10.1.2-RC1 released</a></h3>

<ul>
<li>If you want a sneak peek at the upcoming PC-BSD 10.1.2, the first release candidate is now available to grab</li>
<li>This quarterly update includes a number of new features, improvements and even some additional utilities</li>
<li>PersonaCrypt is one of them - it&#39;s a new tool for easily migrating encrypted home directories between systems</li>
<li>A new &quot;stealth mode&quot; option allows for a one-time login, using a blank home directory that gets wiped after use</li>
<li>Similarly, a new &quot;Tor mode&quot; allows for easy tunneling of all your traffic through the Tor network</li>
<li>IPFW is now the default firewall, offering improved VIMAGE capabilities</li>
<li>The life preserver backup tool now allows for bare-metal restores via the install CD</li>
<li>ISC&#39;s NTP daemon has been replaced with <a href="http://www.bsdnow.tv/episodes/2015_02_11-time_for_a_change" rel="nofollow">OpenNTPD</a>, and OpenSSL has been replaced with <a href="http://www.bsdnow.tv/episodes/2015_03_25-ssl_in_the_wild" rel="nofollow">LibreSSL</a></li>
<li>It also includes the latest <a href="http://www.bsdnow.tv/episodes/2014_09_10-luminary_environment" rel="nofollow">Lumina</a> desktop, and there&#39;s another <a href="http://blog.pcbsd.org/2015/05/pc-bsd-10-1-2-rc1-lumina-desktop-0-8-4-released/" rel="nofollow">post dedicated to that</a></li>
<li>Binary packages have also been updated to fresh versions from the ports tree</li>
<li>More details, including upgrade instructions, can be found in the linked blog post
***</li>
</ul>

<h2>Interview - Ed Schouten - <a href="mailto:ed@freebsd.org" rel="nofollow">ed@freebsd.org</a> / <a href="https://twitter.com/edschouten" rel="nofollow">@edschouten</a></h2>

<p><a href="https://www.bsdcan.org/2015/schedule/track/Security/524.en.html" rel="nofollow">CloudABI</a></p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://code.saghul.net/index.php/2015/05/01/announcing-the-open-household-router-contraption/" rel="nofollow">Open Household Router Contraption</a></h3>

<ul>
<li>This article introduces OpenHRC, the &quot;Open Household Router Contraption&quot;</li>
<li>In short, it&#39;s a set of bootstrapping scripts to turn a vanilla OpenBSD install into a feature-rich gateway device</li>
<li>It also makes use of Ansible playbooks for configuration, allowing for a more &quot;mass deployment&quot; type of setup</li>
<li>Everything is configured via a simple text file, and you end up with a local NTP server, DHCP server, firewall (obviously) and local caching DNS resolver - it even does DNSSEC validation</li>
<li>All the code is open source <a href="https://github.com/ioc32/openhrc" rel="nofollow">and on Github</a>, so you can read through what&#39;s actually being changed and put in place</li>
<li>There&#39;s also a <a href="https://www.youtube.com/watch?v=LZeKDM5jc90" rel="nofollow">video guide</a> to the entire process, if you&#39;re more of a visual person
***</li>
</ul>

<h3><a href="https://forum.opnsense.org/index.php?topic=365.0" rel="nofollow">OPNsense 15.1.10 released</a></h3>

<ul>
<li>Speaking of BSD routers, if you&#39;re looking for a &quot;prebuilt and ready to go&quot; option, OPNsense has just released a new version</li>
<li>15.1.10 drops some of the legacy patches they inherited from pfSense, aiming to stay closer to the mainline FreeBSD source code</li>
<li>Going along with this theme, they&#39;ve redone how they do ports, and are now kept totally in sync with the regular ports tree</li>
<li>Their binary packages are now signed using the fingerprint-style method, various GUI menus have been rewritten and a number of other bugs were fixed</li>
<li>NanoBSD-based images are also available now, so you can try it out on hardware with constrained resources as well</li>
<li>Version <a href="https://twitter.com/opnsense/status/596009164746432512" rel="nofollow">15.1.10.1</a> was released shortly thereafter, including a hotfix for VLANs
***</li>
</ul>

<h3><a href="https://www.ibm.com/developerworks/community/blogs/hpcgoulash/entry/ibm_workpad_z50_netbsd_an_interesting_combination1?lang=en" rel="nofollow">IBM Workpad Z50 and NetBSD</a></h3>

<ul>
<li>Before the infamous netbook fad came and went, IBM had a handheld PDA device that looked pretty much the same</li>
<li>Back in 1999, they released <a href="http://www.hpcfactor.com/reviews/hardware/ibm/workpad-z50/" rel="nofollow">the Workpad Z50</a> with Windows CE, sporting a 131MHz MIPS CPU, 16MB of RAM and a 640x480 display</li>
<li>You can probably tell where this is going... the article is about installing NetBSD it</li>
<li>&quot;What prevents me from taking my pristine Workpad z50 to the local electronics recycling  facility is NetBSD. With a little effort it is possible to install recent versions of NetBSD on the Workpad z50 and even have XWindows running&quot;</li>
<li>The author got pkgsrc up and running on it too, and cleverly used distcc to offload the compiling jobs to something a bit more modern</li>
<li>He&#39;s also got a <a href="https://www.youtube.com/watch?v=hSLVnSZKB9I" rel="nofollow">couple</a> <a href="https://www.youtube.com/watch?v=mIA-NWEHLM4" rel="nofollow">videos</a> of the bootup process and running Xorg (neither of which we&#39;d call &quot;speedy&quot; by any stretch of the imagination)
***</li>
</ul>

<h3><a href="http://freebsdfoundation.blogspot.com/2015/04/from-trenches-tips-tricks-edition.html" rel="nofollow">FreeBSD from the trenches</a></h3>

<ul>
<li>The FreeBSD foundation has a new blog post up in their &quot;from the trenches&quot; series, detailing FreeBSD in some real-world use cases</li>
<li>In this installment, Glen Barber talks about how he sets up all his laptops with ZFS and GELI</li>
<li>While the installer allows for an automatic ZFS layout, Glen notes that it&#39;s not a one-size-fits-all thing, and goes through doing everything manually</li>
<li>Each command is explained, and he walks you through the process of doing <a href="http://www.bsdnow.tv/tutorials/fde" rel="nofollow">an encrypted installation</a> on your root zpool
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2015-May/207671.html" rel="nofollow">Broadwell in DragonFly</a></h3>

<ul>
<li>DragonFlyBSD has officially won the race to get an Intel Broadwell graphics driver</li>
<li>Their i915 driver has been brought up to speed with Linux 3.14&#39;s, adding not only Broadwell support, but many other bugfixes for other cards too</li>
<li>It&#39;s planned for commit to the main tree very soon, but you can test it out with a git branch for the time being
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s216QQcHyX" rel="nofollow">Bostjan writes in</a></li>
<li><a href="http://slexy.org/view/s21hGSk3c0" rel="nofollow">Hunter writes in</a></li>
<li><a href="http://slexy.org/view/s20JwPw9Je" rel="nofollow">Hrishi writes in</a></li>
<li><a href="http://slexy.org/view/s2x1GYr7y6" rel="nofollow">Clint writes in</a></li>
<li><a href="http://slexy.org/view/s2swXxr2PX" rel="nofollow">Sergei writes in</a>
***</li>
</ul>

<h2>Mailing List Gold</h2>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-advocacy/2015-May/004541.html" rel="nofollow">How did you guess</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>62: Gift from the Sun</title>
  <link>https://www.bsdnow.tv/62</link>
  <guid isPermaLink="false">1a099eb3-3c03-4d49-ba89-e6381381718d</guid>
  <pubDate>Wed, 05 Nov 2014 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1a099eb3-3c03-4d49-ba89-e6381381718d.mp3" length="24585844" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We're away at MeetBSD this week, but we've still got a great show for you. We'll be joined by Pawel Dawidek, who's done quite a lot of things in FreeBSD over the years, including the initial ZFS port. We'll get to hear how that came about, what he's up to now and a whole lot more. We'll be back next week with a normal episode of BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>34:08</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>We're away at MeetBSD this week, but we've still got a great show for you. We'll be joined by Pawel Dawidek, who's done quite a lot of things in FreeBSD over the years, including the initial ZFS port. We'll get to hear how that came about, what he's up to now and a whole lot more. We'll be back next week with a normal episode of BSD Now - the place to B.. SD.
This episode was brought to you by
&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems"&gt;&lt;img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&gt;&lt;img src="/images/tarsnap1.png" alt="Tarsnap - online backups for the truly paranoid"&gt;&lt;/a&gt;
Interview - Pawel Jakub Dawidek - pjd@freebsd.org (mailto:pjd@freebsd.org)
Porting ZFS, GEOM, GELI, Capsicum, various topics
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, zfs, capsicum, geom, geli, openzfs, jails, solaris, illumos, opensolaris, openindiana, sun, oracle, meetbsd, meetbsdca, ixsystems</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We&#39;re away at MeetBSD this week, but we&#39;ve still got a great show for you. We&#39;ll be joined by Pawel Dawidek, who&#39;s done quite a lot of things in FreeBSD over the years, including the initial ZFS port. We&#39;ll get to hear how that came about, what he&#39;s up to now and a whole lot more. We&#39;ll be back next week with a normal episode of BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/tarsnap1.png" alt="Tarsnap - online backups for the truly paranoid" /></a></p>

<hr>

<h2>Interview - Pawel Jakub Dawidek - <a href="mailto:pjd@freebsd.org" rel="nofollow">pjd@freebsd.org</a></h2>

<p>Porting ZFS, GEOM, GELI, Capsicum, various topics</p>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We&#39;re away at MeetBSD this week, but we&#39;ve still got a great show for you. We&#39;ll be joined by Pawel Dawidek, who&#39;s done quite a lot of things in FreeBSD over the years, including the initial ZFS port. We&#39;ll get to hear how that came about, what he&#39;s up to now and a whole lot more. We&#39;ll be back next week with a normal episode of BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/tarsnap1.png" alt="Tarsnap - online backups for the truly paranoid" /></a></p>

<hr>

<h2>Interview - Pawel Jakub Dawidek - <a href="mailto:pjd@freebsd.org" rel="nofollow">pjd@freebsd.org</a></h2>

<p>Porting ZFS, GEOM, GELI, Capsicum, various topics</p>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>39: The Friendly Sandbox</title>
  <link>https://www.bsdnow.tv/39</link>
  <guid isPermaLink="false">4ae1b0f5-7c6f-486f-bdcf-c71ec415269c</guid>
  <pubDate>Wed, 28 May 2014 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4ae1b0f5-7c6f-486f-bdcf-c71ec415269c.mp3" length="45004756" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This time on the show we'll be talking with Jon Anderson about Capsicum and Casper to securely sandbox processes. After that, our tutorial will show you how to encrypt all your DNS lookups, either on a single system or for your whole network. News, emails and all the usual fun, on BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>1:02:30</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;This time on the show we'll be talking with Jon Anderson about Capsicum and Casper to securely sandbox processes. After that, our tutorial will show you how to encrypt all your DNS lookups, either on a single system or for your whole network. News, emails and all the usual fun, on BSD Now - the place to B.. SD.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/tarsnap1.png" alt="Tarsnap - online backups for the truly paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.bsdcan.org/2014/schedule/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2014 talks and reports&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The majority of the BSDCan talks are finally uploaded, so prepare to be flooded with links&lt;/li&gt;
&lt;li&gt;Karl Lehenbauer's &lt;a href="https://www.youtube.com/watch?v=13LiyjnTGsQ" target="_blank" rel="nofollow noopener"&gt;keynote&lt;/a&gt; (he's on next week's episode)&lt;/li&gt;
&lt;li&gt;Mariusz Zaborski and Pawel Jakub Dawidek,
&lt;a href="https://www.youtube.com/watch?v=0la06FHbdvg" target="_blank" rel="nofollow noopener"&gt;Capsicum and Casper&lt;/a&gt; (relevant to today's interview)&lt;/li&gt;
&lt;li&gt;Luigi Rizzo,
&lt;a href="https://www.youtube.com/watch?v=Lr5o1VQMtgA" target="_blank" rel="nofollow noopener"&gt;In-kernel OpenvSwitch on FreeBSD&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Dwayne Hart, &lt;a href="https://www.youtube.com/watch?v=AVuF9eFeVWs" target="_blank" rel="nofollow noopener"&gt;Migrating from Linux to FreeBSD for Backend Data Storage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Warner Losh, &lt;a href="https://www.youtube.com/watch?v=lj0XAE6C6-k" target="_blank" rel="nofollow noopener"&gt;NAND Flash and FreeBSD&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Simon Gerraty, &lt;a href="https://www.youtube.com/watch?v=4s0UY0sg6vI" target="_blank" rel="nofollow noopener"&gt;FreeBSD bmake and Meta Mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Bob Beck, &lt;a href="https://www.youtube.com/watch?v=oM6S7FEUfkU" target="_blank" rel="nofollow noopener"&gt;LibreSSL - The First 30 Days&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Henning Brauer, &lt;a href="https://www.youtube.com/watch?v=cP8AW111IKg" target="_blank" rel="nofollow noopener"&gt;OpenBGPD Turns 10 Years Old&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Arun Thomas, &lt;a href="https://www.youtube.com/watch?v=ZAM7fqhGRr8" target="_blank" rel="nofollow noopener"&gt;BSD ARM Kernel Internals&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Peter Hessler, &lt;a href="https://www.youtube.com/watch?v=i8UAVswpagA" target="_blank" rel="nofollow noopener"&gt;Using BGP for Realtime Spam Lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pedro Giffuni, &lt;a href="https://www.youtube.com/watch?v=HMeTxViulgo" target="_blank" rel="nofollow noopener"&gt;Features and Status of FreeBSD's Ext2 Implementation
&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Matt Ahrens, &lt;a href="https://www.youtube.com/watch?v=EjGqVdCOIhM" target="_blank" rel="nofollow noopener"&gt;OpenZFS Upcoming Features and Performance Enhancements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Daichi Goto, &lt;a href="https://www.youtube.com/watch?v=MsRu0xIawaA" target="_blank" rel="nofollow noopener"&gt;Shellscripts and Commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Benno Rice, &lt;a href="https://www.youtube.com/watch?v=jZp-ciB6mAg" target="_blank" rel="nofollow noopener"&gt;Keeping Current&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Sean Bruno, &lt;a href="https://www.youtube.com/watch?v=LZjoFSfIv3k" target="_blank" rel="nofollow noopener"&gt;MIPS Router Hacking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;John-Mark Gurney, &lt;a href="https://www.youtube.com/watch?v=2qicD0tv_tI" target="_blank" rel="nofollow noopener"&gt;Optimizing GELI Performance&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Patrick Kelsey, &lt;a href="https://www.youtube.com/watch?v=LhIx8q8_7YY" target="_blank" rel="nofollow noopener"&gt;Userspace Networking with libuinet&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Massimiliano Stucchi, &lt;a href="https://www.youtube.com/watch?v=WZoQzUZKaeo" target="_blank" rel="nofollow noopener"&gt;IPv6 Transitioning Mechanisms&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Roger Pau Monné, &lt;a href="https://www.youtube.com/watch?v=q6l9qtjlNXU" target="_blank" rel="nofollow noopener"&gt;Taking the Red Pill&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Shawn Webb, &lt;a href="https://www.youtube.com/watch?v=jo8ObzR1tKQ" target="_blank" rel="nofollow noopener"&gt;Introducing ASLR in FreeBSD&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;There's also a &lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20140519164127" target="_blank" rel="nofollow noopener"&gt;trip report&lt;/a&gt; from Peter Hessler and &lt;a href="http://julipedia.meroh.net/2014/05/bsdcan-2014-summary.html" target="_blank" rel="nofollow noopener"&gt;one from Julio Merino&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The latter report also talks about how, unfortunately, NetBSD basically had no presence in the event at all (and how that's a recurring trend)
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://networkfilter.blogspot.com/2014/05/defend-your-network-and-privacy-vpn.html" target="_blank" rel="nofollow noopener"&gt;Defend your network and privacy with a VPN and OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;After all the recent news about spying, backdoored routers, deep packet inspection and everything else, you might want to start taking steps at getting some privacy back&lt;/li&gt;
&lt;li&gt;This article describes how to set up a secure network gateway and VPN using OpenBSD and related crypto utilities&lt;/li&gt;
&lt;li&gt;There are bits for DHCP, DNS, OpenVPN, DNSCrypt and a watchdog script to make sure your tunnel is always being used&lt;/li&gt;
&lt;li&gt;You can transparently tunnel all your outbound traffic over the VPN with this configuration, nothing is needed on any of the client systems - this could also be used with Tor (but it would be very slow)&lt;/li&gt;
&lt;li&gt;It also includes a few general privacy tips, recommended browser extensions, etc&lt;/li&gt;
&lt;li&gt;The intro to the article is especially great, so give the whole thing a read&lt;/li&gt;
&lt;li&gt;He mentions our &lt;a href="http://www.bsdnow.tv/tutorials/openbsd-router" target="_blank" rel="nofollow noopener"&gt;OpenBSD router guide&lt;/a&gt; and other tutorials being a big help for this setup, so hello if you're watching!
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://blog.pascalj.com/article/you-should-try-freebsd/" target="_blank" rel="nofollow noopener"&gt;You should try FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In this blog post, the author talks a bit about how some Linux people aren't familiar with the BSDs and how we can take steps to change that&lt;/li&gt;
&lt;li&gt;He goes into some FreeBSD history specifically, then talks about some of the apparent (and not-so-apparent) differences between the two&lt;/li&gt;
&lt;li&gt;Possibly the most useful part is how to address the question "my server already works, why bother switching?"&lt;/li&gt;
&lt;li&gt;"Stackoverflow’s answers assume I have apt-get installed"&lt;/li&gt;
&lt;li&gt;It includes mention of the great documentation, stability, ports, improved security and much more&lt;/li&gt;
&lt;li&gt;A takeaway quote for would-be Linux switchers: "I like to compare FreeBSD to a really tidy room where you can find everything with your eyes closed. Once you know where the closets are, it is easy to just grab what you need, even if you have never touched it before"
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://hacklog.in/openbsd-and-the-little-mauritian-contributor/" target="_blank" rel="nofollow noopener"&gt;OpenBSD and the little Mauritian contributor&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This is a story about a guy from &lt;a href="https://en.wikipedia.org/wiki/Mauritius" target="_blank" rel="nofollow noopener"&gt;Mauritius&lt;/a&gt; named Logan, one of OpenBSD's newest developers&lt;/li&gt;
&lt;li&gt;Back in 2010, he started sending in patched for OpenBSD's "mg" editor, among other small things, and eventually added file transfer resume support for SFTP&lt;/li&gt;
&lt;li&gt;The article talks about his journey from just a guy who submits a patch here and there to joining the developer ranks and even getting his picture taken with Theo at a recent hackathon&lt;/li&gt;
&lt;li&gt;It really shows how easy it is to get involved with the different BSDs and contribute back to the software ecosystem&lt;/li&gt;
&lt;li&gt;Congrats to Logan, and hopefully this will inspire more people to start helping out and contributing code back
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Interview - Jon Anderson - &lt;a href="mailto:jonathan@freebsd.org" target="_blank" rel="nofollow noopener"&gt;jonathan@freebsd.org&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Capsicum and Casperd&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tutorial&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.bsdnow.tv/tutorials/dnscrypt" target="_blank" rel="nofollow noopener"&gt;Encrypting DNS lookups&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://i.imgur.com/f0qg6Ss.jpg" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal, May 2014 issue&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The newest issue of the &lt;a href="http://www.bsdnow.tv/episodes/2014_01_29-journaled_news_updates" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal&lt;/a&gt; is out, following the bi-monthly release cycle&lt;/li&gt;
&lt;li&gt;This time the topics include: a letter from the foundation, a ports report, some 9.3-RELEASE plans, an events calendar, an overview of ipfw, exploring network activity with dtrace, an article about kqueue, data distribution with dnssec and finally an article about TCP scaling&lt;/li&gt;
&lt;li&gt;Pick up your (digital) copy at Amazon, Google Play or on iTunes and have a read
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://insanecoding.blogspot.com/2014/05/libressl-porting-update.html" target="_blank" rel="nofollow noopener"&gt;LibreSSL porting update&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Since the last LibreSSL post we covered, a couple unofficial "portable" versions have died off&lt;/li&gt;
&lt;li&gt;Unfortunately, people still think they can just port LibreSSL to other BSDs and Linux all willy-nilly - stop doing that!&lt;/li&gt;
&lt;li&gt;This post reiterates that LibreSSL currently relies on a lot of OpenBSD-specific security functions that are not present in other systems, and also gives a very eye-opening example&lt;/li&gt;
&lt;li&gt;Please wait for an official portable version instead of wasting time with these dime-a-dozen github clones that do more harm than good
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://bsdmag.org/magazine/1862-meteorjs-on-freebsd-11-may-bsd-issue" target="_blank" rel="nofollow noopener"&gt;BSDMag May 2014 issue is out&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The usual monthly release from BSDMag, covering a variety of subjects&lt;/li&gt;
&lt;li&gt;This time around the topics include: managing large development projects using RCS, working with HAMMER FS and PFSes, running MeteorJS on FreeBSD 11, another bhyve article, more GIMP tutorials and a few other things&lt;/li&gt;
&lt;li&gt;It's a free PDF, go grab it
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://bsdtalk.blogspot.com/2014/05/bsdtalk241-bob-beck.html" target="_blank" rel="nofollow noopener"&gt;BSDTalk episode 241&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A new episode of &lt;a href="http://www.bsdnow.tv/episodes/2014_03_05-bsd_now_vs_bsdtalk" target="_blank" rel="nofollow noopener"&gt;BSDTalk&lt;/a&gt; is out, this time with Bob Beck&lt;/li&gt;
&lt;li&gt;He talks about the OpenBSD foundation's recent activities, his own work in the project, some stories about the hardware in Theo's basement and a lot more&lt;/li&gt;
&lt;li&gt;The interview itself isn't about LibreSSL at all, but they do touch on it a bit too&lt;/li&gt;
&lt;li&gt;Really interesting stuff, covers a lot of different topics in a short amount of time
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We got a number of replies about last week's VPN question, so thanks to everyone who sent in an email about it - the &lt;a href="https://www.freshports.org/security/vpnc/" target="_blank" rel="nofollow noopener"&gt;vpnc&lt;/a&gt; package seems to be what we were looking for&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s20MK7bTyc" target="_blank" rel="nofollow noopener"&gt;Tim writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s2OWREQdUA" target="_blank" rel="nofollow noopener"&gt;AJ writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s202obAqbT" target="_blank" rel="nofollow noopener"&gt;Peter writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s21Kye2jAc" target="_blank" rel="nofollow noopener"&gt;Thomas writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://slexy.org/view/s2zqFVqwxN" target="_blank" rel="nofollow noopener"&gt;Martin writes in&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, casper, casperd, the friendly ghost, capsicum, sandbox, application, jails, isolation, isolated, chroot, virtual machine, exploit, vpn, security, ssh, tunnel, encryption, bsdcan, presentation, talk, video, recordings, dnscrypt, opendns, dnscurve, lookups, dns, dnssec, gateway, vpn, vps, journal, bsdmag, bsdtalk, libressl</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This time on the show we&#39;ll be talking with Jon Anderson about Capsicum and Casper to securely sandbox processes. After that, our tutorial will show you how to encrypt all your DNS lookups, either on a single system or for your whole network. News, emails and all the usual fun, on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/tarsnap1.png" alt="Tarsnap - online backups for the truly paranoid" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.bsdcan.org/2014/schedule/" rel="nofollow">BSDCan 2014 talks and reports</a></h3>

<ul>
<li>The majority of the BSDCan talks are finally uploaded, so prepare to be flooded with links</li>
<li>Karl Lehenbauer&#39;s <a href="https://www.youtube.com/watch?v=13LiyjnTGsQ" rel="nofollow">keynote</a> (he&#39;s on next week&#39;s episode)</li>
<li>Mariusz Zaborski and Pawel Jakub Dawidek,
<a href="https://www.youtube.com/watch?v=0la06FHbdvg" rel="nofollow">Capsicum and Casper</a> (relevant to today&#39;s interview)</li>
<li>Luigi Rizzo,
<a href="https://www.youtube.com/watch?v=Lr5o1VQMtgA" rel="nofollow">In-kernel OpenvSwitch on FreeBSD</a></li>
<li>Dwayne Hart, <a href="https://www.youtube.com/watch?v=AVuF9eFeVWs" rel="nofollow">Migrating from Linux to FreeBSD for Backend Data Storage</a></li>
<li>Warner Losh, <a href="https://www.youtube.com/watch?v=lj0XAE6C6-k" rel="nofollow">NAND Flash and FreeBSD</a></li>
<li>Simon Gerraty, <a href="https://www.youtube.com/watch?v=4s0UY0sg6vI" rel="nofollow">FreeBSD bmake and Meta Mode</a></li>
<li>Bob Beck, <a href="https://www.youtube.com/watch?v=oM6S7FEUfkU" rel="nofollow">LibreSSL - The First 30 Days</a></li>
<li>Henning Brauer, <a href="https://www.youtube.com/watch?v=cP8AW111IKg" rel="nofollow">OpenBGPD Turns 10 Years Old</a></li>
<li>Arun Thomas, <a href="https://www.youtube.com/watch?v=ZAM7fqhGRr8" rel="nofollow">BSD ARM Kernel Internals</a></li>
<li>Peter Hessler, <a href="https://www.youtube.com/watch?v=i8UAVswpagA" rel="nofollow">Using BGP for Realtime Spam Lists</a></li>
<li>Pedro Giffuni, <a href="https://www.youtube.com/watch?v=HMeTxViulgo" rel="nofollow">Features and Status of FreeBSD&#39;s Ext2 Implementation
</a></li>
<li>Matt Ahrens, <a href="https://www.youtube.com/watch?v=EjGqVdCOIhM" rel="nofollow">OpenZFS Upcoming Features and Performance Enhancements</a></li>
<li>Daichi Goto, <a href="https://www.youtube.com/watch?v=MsRu0xIawaA" rel="nofollow">Shellscripts and Commands</a></li>
<li>Benno Rice, <a href="https://www.youtube.com/watch?v=jZp-ciB6mAg" rel="nofollow">Keeping Current</a></li>
<li>Sean Bruno, <a href="https://www.youtube.com/watch?v=LZjoFSfIv3k" rel="nofollow">MIPS Router Hacking</a></li>
<li>John-Mark Gurney, <a href="https://www.youtube.com/watch?v=2qicD0tv_tI" rel="nofollow">Optimizing GELI Performance</a></li>
<li>Patrick Kelsey, <a href="https://www.youtube.com/watch?v=LhIx8q8_7YY" rel="nofollow">Userspace Networking with libuinet</a></li>
<li>Massimiliano Stucchi, <a href="https://www.youtube.com/watch?v=WZoQzUZKaeo" rel="nofollow">IPv6 Transitioning Mechanisms</a></li>
<li>Roger Pau Monné, <a href="https://www.youtube.com/watch?v=q6l9qtjlNXU" rel="nofollow">Taking the Red Pill</a></li>
<li>Shawn Webb, <a href="https://www.youtube.com/watch?v=jo8ObzR1tKQ" rel="nofollow">Introducing ASLR in FreeBSD</a></li>
<li>There&#39;s also a <a href="http://undeadly.org/cgi?action=article&sid=20140519164127" rel="nofollow">trip report</a> from Peter Hessler and <a href="http://julipedia.meroh.net/2014/05/bsdcan-2014-summary.html" rel="nofollow">one from Julio Merino</a></li>
<li>The latter report also talks about how, unfortunately, NetBSD basically had no presence in the event at all (and how that&#39;s a recurring trend)
***</li>
</ul>

<h3><a href="http://networkfilter.blogspot.com/2014/05/defend-your-network-and-privacy-vpn.html" rel="nofollow">Defend your network and privacy with a VPN and OpenBSD</a></h3>

<ul>
<li>After all the recent news about spying, backdoored routers, deep packet inspection and everything else, you might want to start taking steps at getting some privacy back</li>
<li>This article describes how to set up a secure network gateway and VPN using OpenBSD and related crypto utilities</li>
<li>There are bits for DHCP, DNS, OpenVPN, DNSCrypt and a watchdog script to make sure your tunnel is always being used</li>
<li>You can transparently tunnel all your outbound traffic over the VPN with this configuration, nothing is needed on any of the client systems - this could also be used with Tor (but it would be very slow)</li>
<li>It also includes a few general privacy tips, recommended browser extensions, etc</li>
<li>The intro to the article is especially great, so give the whole thing a read</li>
<li>He mentions our <a href="http://www.bsdnow.tv/tutorials/openbsd-router" rel="nofollow">OpenBSD router guide</a> and other tutorials being a big help for this setup, so hello if you&#39;re watching!
***</li>
</ul>

<h3><a href="http://blog.pascalj.com/article/you-should-try-freebsd/" rel="nofollow">You should try FreeBSD</a></h3>

<ul>
<li>In this blog post, the author talks a bit about how some Linux people aren&#39;t familiar with the BSDs and how we can take steps to change that</li>
<li>He goes into some FreeBSD history specifically, then talks about some of the apparent (and not-so-apparent) differences between the two</li>
<li>Possibly the most useful part is how to address the question &quot;my server already works, why bother switching?&quot;</li>
<li>&quot;Stackoverflow’s answers assume I have apt-get installed&quot;</li>
<li>It includes mention of the great documentation, stability, ports, improved security and much more</li>
<li>A takeaway quote for would-be Linux switchers: &quot;I like to compare FreeBSD to a really tidy room where you can find everything with your eyes closed. Once you know where the closets are, it is easy to just grab what you need, even if you have never touched it before&quot;
***</li>
</ul>

<h3><a href="http://hacklog.in/openbsd-and-the-little-mauritian-contributor/" rel="nofollow">OpenBSD and the little Mauritian contributor</a></h3>

<ul>
<li>This is a story about a guy from <a href="https://en.wikipedia.org/wiki/Mauritius" rel="nofollow">Mauritius</a> named Logan, one of OpenBSD&#39;s newest developers</li>
<li>Back in 2010, he started sending in patched for OpenBSD&#39;s &quot;mg&quot; editor, among other small things, and eventually added file transfer resume support for SFTP</li>
<li>The article talks about his journey from just a guy who submits a patch here and there to joining the developer ranks and even getting his picture taken with Theo at a recent hackathon</li>
<li>It really shows how easy it is to get involved with the different BSDs and contribute back to the software ecosystem</li>
<li>Congrats to Logan, and hopefully this will inspire more people to start helping out and contributing code back
***</li>
</ul>

<h2>Interview - Jon Anderson - <a href="mailto:jonathan@freebsd.org" rel="nofollow">jonathan@freebsd.org</a></h2>

<p>Capsicum and Casperd</p>

<hr>

<h2>Tutorial</h2>

<h3><a href="http://www.bsdnow.tv/tutorials/dnscrypt" rel="nofollow">Encrypting DNS lookups</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://i.imgur.com/f0qg6Ss.jpg" rel="nofollow">FreeBSD Journal, May 2014 issue</a></h3>

<ul>
<li>The newest issue of the <a href="http://www.bsdnow.tv/episodes/2014_01_29-journaled_news_updates" rel="nofollow">FreeBSD Journal</a> is out, following the bi-monthly release cycle</li>
<li>This time the topics include: a letter from the foundation, a ports report, some 9.3-RELEASE plans, an events calendar, an overview of ipfw, exploring network activity with dtrace, an article about kqueue, data distribution with dnssec and finally an article about TCP scaling</li>
<li>Pick up your (digital) copy at Amazon, Google Play or on iTunes and have a read
***</li>
</ul>

<h3><a href="http://insanecoding.blogspot.com/2014/05/libressl-porting-update.html" rel="nofollow">LibreSSL porting update</a></h3>

<ul>
<li>Since the last LibreSSL post we covered, a couple unofficial &quot;portable&quot; versions have died off</li>
<li>Unfortunately, people still think they can just port LibreSSL to other BSDs and Linux all willy-nilly - stop doing that!</li>
<li>This post reiterates that LibreSSL currently relies on a lot of OpenBSD-specific security functions that are not present in other systems, and also gives a very eye-opening example</li>
<li>Please wait for an official portable version instead of wasting time with these dime-a-dozen github clones that do more harm than good
***</li>
</ul>

<h3><a href="http://bsdmag.org/magazine/1862-meteorjs-on-freebsd-11-may-bsd-issue" rel="nofollow">BSDMag May 2014 issue is out</a></h3>

<ul>
<li>The usual monthly release from BSDMag, covering a variety of subjects</li>
<li>This time around the topics include: managing large development projects using RCS, working with HAMMER FS and PFSes, running MeteorJS on FreeBSD 11, another bhyve article, more GIMP tutorials and a few other things</li>
<li>It&#39;s a free PDF, go grab it
***</li>
</ul>

<h3><a href="http://bsdtalk.blogspot.com/2014/05/bsdtalk241-bob-beck.html" rel="nofollow">BSDTalk episode 241</a></h3>

<ul>
<li>A new episode of <a href="http://www.bsdnow.tv/episodes/2014_03_05-bsd_now_vs_bsdtalk" rel="nofollow">BSDTalk</a> is out, this time with Bob Beck</li>
<li>He talks about the OpenBSD foundation&#39;s recent activities, his own work in the project, some stories about the hardware in Theo&#39;s basement and a lot more</li>
<li>The interview itself isn&#39;t about LibreSSL at all, but they do touch on it a bit too</li>
<li>Really interesting stuff, covers a lot of different topics in a short amount of time
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>We got a number of replies about last week&#39;s VPN question, so thanks to everyone who sent in an email about it - the <a href="https://www.freshports.org/security/vpnc/" rel="nofollow">vpnc</a> package seems to be what we were looking for</li>
<li><a href="http://slexy.org/view/s20MK7bTyc" rel="nofollow">Tim writes in</a></li>
<li><a href="http://slexy.org/view/s2OWREQdUA" rel="nofollow">AJ writes in</a></li>
<li><a href="http://slexy.org/view/s202obAqbT" rel="nofollow">Peter writes in</a></li>
<li><a href="http://slexy.org/view/s21Kye2jAc" rel="nofollow">Thomas writes in</a></li>
<li><a href="http://slexy.org/view/s2zqFVqwxN" rel="nofollow">Martin writes in</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This time on the show we&#39;ll be talking with Jon Anderson about Capsicum and Casper to securely sandbox processes. After that, our tutorial will show you how to encrypt all your DNS lookups, either on a single system or for your whole network. News, emails and all the usual fun, on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/tarsnap1.png" alt="Tarsnap - online backups for the truly paranoid" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.bsdcan.org/2014/schedule/" rel="nofollow">BSDCan 2014 talks and reports</a></h3>

<ul>
<li>The majority of the BSDCan talks are finally uploaded, so prepare to be flooded with links</li>
<li>Karl Lehenbauer&#39;s <a href="https://www.youtube.com/watch?v=13LiyjnTGsQ" rel="nofollow">keynote</a> (he&#39;s on next week&#39;s episode)</li>
<li>Mariusz Zaborski and Pawel Jakub Dawidek,
<a href="https://www.youtube.com/watch?v=0la06FHbdvg" rel="nofollow">Capsicum and Casper</a> (relevant to today&#39;s interview)</li>
<li>Luigi Rizzo,
<a href="https://www.youtube.com/watch?v=Lr5o1VQMtgA" rel="nofollow">In-kernel OpenvSwitch on FreeBSD</a></li>
<li>Dwayne Hart, <a href="https://www.youtube.com/watch?v=AVuF9eFeVWs" rel="nofollow">Migrating from Linux to FreeBSD for Backend Data Storage</a></li>
<li>Warner Losh, <a href="https://www.youtube.com/watch?v=lj0XAE6C6-k" rel="nofollow">NAND Flash and FreeBSD</a></li>
<li>Simon Gerraty, <a href="https://www.youtube.com/watch?v=4s0UY0sg6vI" rel="nofollow">FreeBSD bmake and Meta Mode</a></li>
<li>Bob Beck, <a href="https://www.youtube.com/watch?v=oM6S7FEUfkU" rel="nofollow">LibreSSL - The First 30 Days</a></li>
<li>Henning Brauer, <a href="https://www.youtube.com/watch?v=cP8AW111IKg" rel="nofollow">OpenBGPD Turns 10 Years Old</a></li>
<li>Arun Thomas, <a href="https://www.youtube.com/watch?v=ZAM7fqhGRr8" rel="nofollow">BSD ARM Kernel Internals</a></li>
<li>Peter Hessler, <a href="https://www.youtube.com/watch?v=i8UAVswpagA" rel="nofollow">Using BGP for Realtime Spam Lists</a></li>
<li>Pedro Giffuni, <a href="https://www.youtube.com/watch?v=HMeTxViulgo" rel="nofollow">Features and Status of FreeBSD&#39;s Ext2 Implementation
</a></li>
<li>Matt Ahrens, <a href="https://www.youtube.com/watch?v=EjGqVdCOIhM" rel="nofollow">OpenZFS Upcoming Features and Performance Enhancements</a></li>
<li>Daichi Goto, <a href="https://www.youtube.com/watch?v=MsRu0xIawaA" rel="nofollow">Shellscripts and Commands</a></li>
<li>Benno Rice, <a href="https://www.youtube.com/watch?v=jZp-ciB6mAg" rel="nofollow">Keeping Current</a></li>
<li>Sean Bruno, <a href="https://www.youtube.com/watch?v=LZjoFSfIv3k" rel="nofollow">MIPS Router Hacking</a></li>
<li>John-Mark Gurney, <a href="https://www.youtube.com/watch?v=2qicD0tv_tI" rel="nofollow">Optimizing GELI Performance</a></li>
<li>Patrick Kelsey, <a href="https://www.youtube.com/watch?v=LhIx8q8_7YY" rel="nofollow">Userspace Networking with libuinet</a></li>
<li>Massimiliano Stucchi, <a href="https://www.youtube.com/watch?v=WZoQzUZKaeo" rel="nofollow">IPv6 Transitioning Mechanisms</a></li>
<li>Roger Pau Monné, <a href="https://www.youtube.com/watch?v=q6l9qtjlNXU" rel="nofollow">Taking the Red Pill</a></li>
<li>Shawn Webb, <a href="https://www.youtube.com/watch?v=jo8ObzR1tKQ" rel="nofollow">Introducing ASLR in FreeBSD</a></li>
<li>There&#39;s also a <a href="http://undeadly.org/cgi?action=article&sid=20140519164127" rel="nofollow">trip report</a> from Peter Hessler and <a href="http://julipedia.meroh.net/2014/05/bsdcan-2014-summary.html" rel="nofollow">one from Julio Merino</a></li>
<li>The latter report also talks about how, unfortunately, NetBSD basically had no presence in the event at all (and how that&#39;s a recurring trend)
***</li>
</ul>

<h3><a href="http://networkfilter.blogspot.com/2014/05/defend-your-network-and-privacy-vpn.html" rel="nofollow">Defend your network and privacy with a VPN and OpenBSD</a></h3>

<ul>
<li>After all the recent news about spying, backdoored routers, deep packet inspection and everything else, you might want to start taking steps at getting some privacy back</li>
<li>This article describes how to set up a secure network gateway and VPN using OpenBSD and related crypto utilities</li>
<li>There are bits for DHCP, DNS, OpenVPN, DNSCrypt and a watchdog script to make sure your tunnel is always being used</li>
<li>You can transparently tunnel all your outbound traffic over the VPN with this configuration, nothing is needed on any of the client systems - this could also be used with Tor (but it would be very slow)</li>
<li>It also includes a few general privacy tips, recommended browser extensions, etc</li>
<li>The intro to the article is especially great, so give the whole thing a read</li>
<li>He mentions our <a href="http://www.bsdnow.tv/tutorials/openbsd-router" rel="nofollow">OpenBSD router guide</a> and other tutorials being a big help for this setup, so hello if you&#39;re watching!
***</li>
</ul>

<h3><a href="http://blog.pascalj.com/article/you-should-try-freebsd/" rel="nofollow">You should try FreeBSD</a></h3>

<ul>
<li>In this blog post, the author talks a bit about how some Linux people aren&#39;t familiar with the BSDs and how we can take steps to change that</li>
<li>He goes into some FreeBSD history specifically, then talks about some of the apparent (and not-so-apparent) differences between the two</li>
<li>Possibly the most useful part is how to address the question &quot;my server already works, why bother switching?&quot;</li>
<li>&quot;Stackoverflow’s answers assume I have apt-get installed&quot;</li>
<li>It includes mention of the great documentation, stability, ports, improved security and much more</li>
<li>A takeaway quote for would-be Linux switchers: &quot;I like to compare FreeBSD to a really tidy room where you can find everything with your eyes closed. Once you know where the closets are, it is easy to just grab what you need, even if you have never touched it before&quot;
***</li>
</ul>

<h3><a href="http://hacklog.in/openbsd-and-the-little-mauritian-contributor/" rel="nofollow">OpenBSD and the little Mauritian contributor</a></h3>

<ul>
<li>This is a story about a guy from <a href="https://en.wikipedia.org/wiki/Mauritius" rel="nofollow">Mauritius</a> named Logan, one of OpenBSD&#39;s newest developers</li>
<li>Back in 2010, he started sending in patched for OpenBSD&#39;s &quot;mg&quot; editor, among other small things, and eventually added file transfer resume support for SFTP</li>
<li>The article talks about his journey from just a guy who submits a patch here and there to joining the developer ranks and even getting his picture taken with Theo at a recent hackathon</li>
<li>It really shows how easy it is to get involved with the different BSDs and contribute back to the software ecosystem</li>
<li>Congrats to Logan, and hopefully this will inspire more people to start helping out and contributing code back
***</li>
</ul>

<h2>Interview - Jon Anderson - <a href="mailto:jonathan@freebsd.org" rel="nofollow">jonathan@freebsd.org</a></h2>

<p>Capsicum and Casperd</p>

<hr>

<h2>Tutorial</h2>

<h3><a href="http://www.bsdnow.tv/tutorials/dnscrypt" rel="nofollow">Encrypting DNS lookups</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://i.imgur.com/f0qg6Ss.jpg" rel="nofollow">FreeBSD Journal, May 2014 issue</a></h3>

<ul>
<li>The newest issue of the <a href="http://www.bsdnow.tv/episodes/2014_01_29-journaled_news_updates" rel="nofollow">FreeBSD Journal</a> is out, following the bi-monthly release cycle</li>
<li>This time the topics include: a letter from the foundation, a ports report, some 9.3-RELEASE plans, an events calendar, an overview of ipfw, exploring network activity with dtrace, an article about kqueue, data distribution with dnssec and finally an article about TCP scaling</li>
<li>Pick up your (digital) copy at Amazon, Google Play or on iTunes and have a read
***</li>
</ul>

<h3><a href="http://insanecoding.blogspot.com/2014/05/libressl-porting-update.html" rel="nofollow">LibreSSL porting update</a></h3>

<ul>
<li>Since the last LibreSSL post we covered, a couple unofficial &quot;portable&quot; versions have died off</li>
<li>Unfortunately, people still think they can just port LibreSSL to other BSDs and Linux all willy-nilly - stop doing that!</li>
<li>This post reiterates that LibreSSL currently relies on a lot of OpenBSD-specific security functions that are not present in other systems, and also gives a very eye-opening example</li>
<li>Please wait for an official portable version instead of wasting time with these dime-a-dozen github clones that do more harm than good
***</li>
</ul>

<h3><a href="http://bsdmag.org/magazine/1862-meteorjs-on-freebsd-11-may-bsd-issue" rel="nofollow">BSDMag May 2014 issue is out</a></h3>

<ul>
<li>The usual monthly release from BSDMag, covering a variety of subjects</li>
<li>This time around the topics include: managing large development projects using RCS, working with HAMMER FS and PFSes, running MeteorJS on FreeBSD 11, another bhyve article, more GIMP tutorials and a few other things</li>
<li>It&#39;s a free PDF, go grab it
***</li>
</ul>

<h3><a href="http://bsdtalk.blogspot.com/2014/05/bsdtalk241-bob-beck.html" rel="nofollow">BSDTalk episode 241</a></h3>

<ul>
<li>A new episode of <a href="http://www.bsdnow.tv/episodes/2014_03_05-bsd_now_vs_bsdtalk" rel="nofollow">BSDTalk</a> is out, this time with Bob Beck</li>
<li>He talks about the OpenBSD foundation&#39;s recent activities, his own work in the project, some stories about the hardware in Theo&#39;s basement and a lot more</li>
<li>The interview itself isn&#39;t about LibreSSL at all, but they do touch on it a bit too</li>
<li>Really interesting stuff, covers a lot of different topics in a short amount of time
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>We got a number of replies about last week&#39;s VPN question, so thanks to everyone who sent in an email about it - the <a href="https://www.freshports.org/security/vpnc/" rel="nofollow">vpnc</a> package seems to be what we were looking for</li>
<li><a href="http://slexy.org/view/s20MK7bTyc" rel="nofollow">Tim writes in</a></li>
<li><a href="http://slexy.org/view/s2OWREQdUA" rel="nofollow">AJ writes in</a></li>
<li><a href="http://slexy.org/view/s202obAqbT" rel="nofollow">Peter writes in</a></li>
<li><a href="http://slexy.org/view/s21Kye2jAc" rel="nofollow">Thomas writes in</a></li>
<li><a href="http://slexy.org/view/s2zqFVqwxN" rel="nofollow">Martin writes in</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
  </channel>
</rss>
