<?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>web02.fireside.fm</fireside:hostname>
    <fireside:genDate>Sat, 18 Apr 2026 03:35:18 -0500</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>BSD Now - Episodes Tagged with “Drm”</title>
    <link>https://www.bsdnow.tv/tags/drm</link>
    <pubDate>Thu, 02 Jul 2020 07:00:00 -0400</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>357: Study the Code</title>
  <link>https://www.bsdnow.tv/357</link>
  <guid isPermaLink="false">3155c049-a0b4-4449-9ecb-1f820e68f542</guid>
  <pubDate>Thu, 02 Jul 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3155c049-a0b4-4449-9ecb-1f820e68f542.mp3" length="36249920" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 6.7 on PC Engines, NetBSD code study, DRM Update on OpenBSD, Booting FreeBSD on HPE Microserver SATA port, 3 ways to multiboot, and more.</itunes:subtitle>
  <itunes:duration>37:59</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>OpenBSD 6.7 on PC Engines, NetBSD code study, DRM Update on OpenBSD, Booting FreeBSD on HPE Microserver SATA port, 3 ways to multiboot, and more.
NOTES
This episode of BSDNow is brought to you by Tarsnap (https://www.tarsnap.com/)
Headlines
OpenBSD 6.7 on PC Engines APU4D4 (https://www.tumfatig.net/20200530/openbsd-6-7-on-pc-engines-apu4d4/)
I just got myself a PC Engines APU4D4. I miss an OpenBSD box providing home services. It’s quite simple to install and run OpenBSD on this machine. And you can even update the BIOS from OpenBSD.
NetBSD code study (http://silas.net.br/codereading/netbsd-code.html)
News Roundup
Booting FreeBSD off the HPE MicroServer Gen8 ODD SATA port (https://rubenerd.com/booting-freebsd-off-the-microserver-odd-sata-port/)
My small homelab post generated a ton of questions and comments, most of them specific to running FreeBSD on the HP MicroServer. I’ll try and answer these over the coming week.
Josh Paxton emailed to ask how I got FreeBSD booting on it, given the unconventional booting limitations of the hardware. I thought I wrote about it a few years ago, but maybe it’s on my proverbial draft heap. If you’re impatient, the script is in my lunchbox.
3 ways to multiboot (https://marc.info/?l=openbsd-misc&amp;amp;m=159146428705118&amp;amp;w=2)
multiboot installation of a BSD system with other operating systems
(OSs) on UEFI hardware is not officially supported by any of the
popular
Beastie Bits
pfSense2.4.5-Release-p1 now available (https://www.netgate.com/blog/pfsense-2-4-5-release-p1-now-available.html)
BSDCan 2020 TomSmyth - OpenBSD And OpenBGPD As ISP Controlplane (https://www.youtube.com/watch?v=_eOVlaYWqS8)
OpenBSD DRM Update (https://undeadly.org/cgi?action=article;sid=20200608075708)
***
###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
 James - Apple T2 (https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/James%20-%20Apple%20T2)
Michael - Jordyns ZFS Question (https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Michael%20-%20Jordyns%20ZFS%20Question)
Note from JT (https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Note%20from%20JT)
Rob - FreeBSD Freindly Registrar (https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Rob%20-%20FreeBSD%20Freindly%20Registrar)
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)
***
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, zfs, interview, pc engines, APU4D4, code study, code, study, drm, update, updates, booting, boot, HPE, MicroServer, SATA, SATA port</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 6.7 on PC Engines, NetBSD code study, DRM Update on OpenBSD, Booting FreeBSD on HPE Microserver SATA port, 3 ways to multiboot, and more.</p>

<p><strong><em>NOTES</em></strong><br>
This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/" rel="nofollow">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.tumfatig.net/20200530/openbsd-6-7-on-pc-engines-apu4d4/" rel="nofollow">OpenBSD 6.7 on PC Engines APU4D4</a></h3>

<blockquote>
<p>I just got myself a PC Engines APU4D4. I miss an OpenBSD box providing home services. It’s quite simple to install and run OpenBSD on this machine. And you can even update the BIOS from OpenBSD.</p>

<hr>

<h3><a href="http://silas.net.br/codereading/netbsd-code.html" rel="nofollow">NetBSD code study</a></h3>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/booting-freebsd-off-the-microserver-odd-sata-port/" rel="nofollow">Booting FreeBSD off the HPE MicroServer Gen8 ODD SATA port</a></h3>

<blockquote>
<p>My small homelab post generated a ton of questions and comments, most of them specific to running FreeBSD on the HP MicroServer. I’ll try and answer these over the coming week.<br>
Josh Paxton emailed to ask how I got FreeBSD booting on it, given the unconventional booting limitations of the hardware. I thought I wrote about it a few years ago, but maybe it’s on my proverbial draft heap. If you’re impatient, the script is in my lunchbox.</p>

<hr>
</blockquote>

<h3><a href="https://marc.info/?l=openbsd-misc&m=159146428705118&w=2" rel="nofollow">3 ways to multiboot</a></h3>

<blockquote>
<p>multiboot installation of a BSD system with other operating systems<br>
(OSs) on UEFI hardware is not officially supported by any of the<br>
popular</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.netgate.com/blog/pfsense-2-4-5-release-p1-now-available.html" rel="nofollow">pfSense2.4.5-Release-p1 now available</a></li>
<li><a href="https://www.youtube.com/watch?v=_eOVlaYWqS8" rel="nofollow">BSDCan 2020 TomSmyth - OpenBSD And OpenBGPD As ISP Controlplane</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20200608075708" rel="nofollow">OpenBSD DRM Update</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/James%20-%20Apple%20T2" rel="nofollow"> James - Apple T2</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Michael%20-%20Jordyns%20ZFS%20Question" rel="nofollow">Michael - Jordyns ZFS Question</a></p>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Note%20from%20JT" rel="nofollow">Note from JT</a></li>
</ul></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Rob%20-%20FreeBSD%20Freindly%20Registrar" rel="nofollow">Rob - FreeBSD Freindly Registrar</a></p></li>
</ul>

<hr>

<ul>
<li>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>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 6.7 on PC Engines, NetBSD code study, DRM Update on OpenBSD, Booting FreeBSD on HPE Microserver SATA port, 3 ways to multiboot, and more.</p>

<p><strong><em>NOTES</em></strong><br>
This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/" rel="nofollow">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.tumfatig.net/20200530/openbsd-6-7-on-pc-engines-apu4d4/" rel="nofollow">OpenBSD 6.7 on PC Engines APU4D4</a></h3>

<blockquote>
<p>I just got myself a PC Engines APU4D4. I miss an OpenBSD box providing home services. It’s quite simple to install and run OpenBSD on this machine. And you can even update the BIOS from OpenBSD.</p>

<hr>

<h3><a href="http://silas.net.br/codereading/netbsd-code.html" rel="nofollow">NetBSD code study</a></h3>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/booting-freebsd-off-the-microserver-odd-sata-port/" rel="nofollow">Booting FreeBSD off the HPE MicroServer Gen8 ODD SATA port</a></h3>

<blockquote>
<p>My small homelab post generated a ton of questions and comments, most of them specific to running FreeBSD on the HP MicroServer. I’ll try and answer these over the coming week.<br>
Josh Paxton emailed to ask how I got FreeBSD booting on it, given the unconventional booting limitations of the hardware. I thought I wrote about it a few years ago, but maybe it’s on my proverbial draft heap. If you’re impatient, the script is in my lunchbox.</p>

<hr>
</blockquote>

<h3><a href="https://marc.info/?l=openbsd-misc&m=159146428705118&w=2" rel="nofollow">3 ways to multiboot</a></h3>

<blockquote>
<p>multiboot installation of a BSD system with other operating systems<br>
(OSs) on UEFI hardware is not officially supported by any of the<br>
popular</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.netgate.com/blog/pfsense-2-4-5-release-p1-now-available.html" rel="nofollow">pfSense2.4.5-Release-p1 now available</a></li>
<li><a href="https://www.youtube.com/watch?v=_eOVlaYWqS8" rel="nofollow">BSDCan 2020 TomSmyth - OpenBSD And OpenBGPD As ISP Controlplane</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20200608075708" rel="nofollow">OpenBSD DRM Update</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/James%20-%20Apple%20T2" rel="nofollow"> James - Apple T2</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Michael%20-%20Jordyns%20ZFS%20Question" rel="nofollow">Michael - Jordyns ZFS Question</a></p>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Note%20from%20JT" rel="nofollow">Note from JT</a></li>
</ul></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Rob%20-%20FreeBSD%20Freindly%20Registrar" rel="nofollow">Rob - FreeBSD Freindly Registrar</a></p></li>
</ul>

<hr>

<ul>
<li>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>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>332: The BSD Hyperbole</title>
  <link>https://www.bsdnow.tv/332</link>
  <guid isPermaLink="false">34cc6ce3-e7ed-41bf-880e-e77f6a27fe3c</guid>
  <pubDate>Thu, 09 Jan 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/34cc6ce3-e7ed-41bf-880e-e77f6a27fe3c.mp3" length="32549325" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Announcing HyperbolaBSD, IPFW In-Kernel NAT setup on FreeBSD, Wayland and WebRTC enabled for NetBSD 9/Linux, LLDB Threading support ready for mainline, OpenSSH U2F/FIDO support in base, Dragonfly drm/i915: Update, and more.</itunes:subtitle>
  <itunes:duration>45:12</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>Announcing HyperbolaBSD, IPFW In-Kernel NAT setup on FreeBSD, Wayland and WebRTC enabled for NetBSD 9/Linux, LLDB Threading support ready for mainline, OpenSSH U2F/FIDO support in base, Dragonfly drm/i915: Update, and more.
Headlines
HyperbolaBSD Announcement (https://www.hyperbola.info/news/announcing-hyperbolabsd-roadmap/)
Due to the Linux kernel rapidly proceeding down an unstable path, we are planning on implementing a completely new OS derived from several BSD implementations.
This was not an easy decision to make, but we wish to use our time and resources to create a viable alternative to the current operating system trends which are actively seeking to undermine user choice and freedom.
This will not be a "distro", but a hard fork of the OpenBSD kernel and userspace including new code written under GPLv3 and LGPLv3 to replace GPL-incompatible parts and non-free ones.
Reasons for this include:
Linux kernel forcing adaption of DRM, including HDCP.
Linux kernel proposed usage of Rust (which contains freedom flaws and a centralized code repository that is more prone to cyber attack and generally requires internet access to use.)
Linux kernel being written without security and in mind. (KSPP is basically a dead project and Grsec is no longer free software)
Many GNU userspace and core utils are all forcing adaption of features without build time options to disable them. E.g. (PulseAudio / SystemD / Rust / Java as forced dependencies)
As such, we will continue to support the Milky Way branch until 2022 when our legacy Linux-libre kernel reaches End of Life.
Future versions of Hyperbola will be using HyperbolaBSD which will have the new kernel, userspace and not be ABI compatible with previous versions.
HyperbolaBSD is intended to be modular and minimalist so other projects will be able to re-use the code under free license.
Forum Post (https://forums.hyperbola.info/viewtopic.php?id=315) 
A simple IPFW In-Kernel NAT setup on FreeBSD (https://www.neelc.org/posts/freebsd-ipfw-nat/)
After graduating college, I am moving from Brooklyn, NY to Redmond, WA (guess where I got a job). I always wanted to re-do my OPNsense firewall (currently a HP T730) with stock FreeBSD and IPFW’s in-kernel NAT.
Why IPFW? Benchmarks have shown IPFW to be faster which is especially good for my Tor relay, and because I can! However, one downside of IPFW is less documentation vs PF, even less without natd (which we’re not using), and this took me time to figure this out.
But since my T730 is already packed, I am testing this on a old PC with two NICs, and my laptop [1] as a client with an USB-to-Ethernet adapter.
News Roundup
HEADS UP: Wayland and WebRTC enabled for NetBSD 9/Linux (https://mail-index.netbsd.org/pkgsrc-users/2020/01/05/msg030124.html)
This is just a heads up that the Wayland option is now turned on by
default for NetBSD 9 and Linux in cases where it peacefully coexists
with X11. 
Right now, this effects the following packages: 
graphics/MesaLib
devel/SDL2
www/webkit-gtk
x11/gtk3
The WebRTC option has also been enabled by default on NetBSD 9 for two Firefox versions: www/firefox, www/firefox68
Please keep me informed of any fallout. Hopefully, there will be none.
If you want to try out Wayland-related things on NetBSD 9, wm/velox/MESSAGE may be interesting for you.
LLDB Threading support now ready for mainline (https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready)
Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.
So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.
OpenSSH U2F/FIDO support in base (https://www.undeadly.org/cgi?action=article;sid=20191115064850)
Hardware backed keys can be generated using "ssh-keygen -t ecdsa-sk" (or "ed25519-sk" if your token supports it). Many tokens require to be touched/tapped to confirm this step.
You'll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a "key handle" that is used by the security key to derive the real private key at signing time.
So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything.
drm/i915: Update to Linux 4.8.17 (http://lists.dragonflybsd.org/pipermail/commits/2019-December/720257.html)
 drm/i915: Update to Linux 4.8.17
Broxton, Valleyview and Cherryview support improvements
Broadwell and Gen9/Skylake support improvements
Broadwell brightness fixes from OpenBSD
Atomic modesetting improvements
Various bug fixes and performance enhancements
Beastie Bits
Visual Studio Code port for FreeBSD (https://github.com/tagattie/FreeBSD-VSCode)
OpenBSD syscall call-from verification (https://marc.info/?l=openbsd-tech&amp;amp;m=157488907117170&amp;amp;w=2)
Peertube on OpenBSD (https://www.22decembre.eu/en/2019/12/09/peertube-14-openbsd/)
Fuzzing Filesystems on NetBSD via AFL+KCOV by Maciej Grochowski (https://www.youtube.com/watch?v=bbNCqFdQEyk&amp;amp;feature=youtu.be)
Twitter Bot for Prop65 (https://twitter.com/prop65bot/status/1199003319307558912)
Interactive vim tutorial (https://www.openvim.com/)
First BSD user group meeting in Hamilton, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St (http://studybsd.com/)
***
Feedback/Questions
Samir - cgit (http://dpaste.com/2B22M24#wrap)
Russell - R (http://dpaste.com/0J5TYY0#wrap)
Wolfgang - Question (http://dpaste.com/3MQAH27#wrap)
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)

    
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, hyperbolabsd, ipfw, in-kernel nat, nat, wayland, webrtc, lldb, threading, u2f, fido, drm, i915</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Announcing HyperbolaBSD, IPFW In-Kernel NAT setup on FreeBSD, Wayland and WebRTC enabled for NetBSD 9/Linux, LLDB Threading support ready for mainline, OpenSSH U2F/FIDO support in base, Dragonfly drm/i915: Update, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.hyperbola.info/news/announcing-hyperbolabsd-roadmap/" rel="nofollow">HyperbolaBSD Announcement</a></h3>

<blockquote>
<p>Due to the Linux kernel rapidly proceeding down an unstable path, we are planning on implementing a completely new OS derived from several BSD implementations.</p>

<p>This was not an easy decision to make, but we wish to use our time and resources to create a viable alternative to the current operating system trends which are actively seeking to undermine user choice and freedom.</p>

<p>This will not be a &quot;distro&quot;, but a hard fork of the OpenBSD kernel and userspace including new code written under GPLv3 and LGPLv3 to replace GPL-incompatible parts and non-free ones.</p>
</blockquote>

<ul>
<li>Reasons for this include:

<ul>
<li>Linux kernel forcing adaption of DRM, including HDCP.</li>
<li>Linux kernel proposed usage of Rust (which contains freedom flaws and a centralized code repository that is more prone to cyber attack and generally requires internet access to use.)</li>
<li>Linux kernel being written without security and in mind. (KSPP is basically a dead project and Grsec is no longer free software)</li>
<li>Many GNU userspace and core utils are all forcing adaption of features without build time options to disable them. E.g. (PulseAudio / SystemD / Rust / Java as forced dependencies)</li>
<li>As such, we will continue to support the Milky Way branch until 2022 when our legacy Linux-libre kernel reaches End of Life.</li>
</ul></li>
</ul>

<blockquote>
<p>Future versions of Hyperbola will be using HyperbolaBSD which will have the new kernel, userspace and not be ABI compatible with previous versions.</p>

<p>HyperbolaBSD is intended to be modular and minimalist so other projects will be able to re-use the code under free license.</p>
</blockquote>

<ul>
<li><a href="https://forums.hyperbola.info/viewtopic.php?id=315" rel="nofollow">Forum Post</a> </li>
</ul>

<hr>

<h3><a href="https://www.neelc.org/posts/freebsd-ipfw-nat/" rel="nofollow">A simple IPFW In-Kernel NAT setup on FreeBSD</a></h3>

<blockquote>
<p>After graduating college, I am moving from Brooklyn, NY to Redmond, WA (guess where I got a job). I always wanted to re-do my OPNsense firewall (currently a HP T730) with stock FreeBSD and IPFW’s in-kernel NAT.</p>

<p>Why IPFW? Benchmarks have shown IPFW to be faster which is especially good for my Tor relay, and because I can! However, one downside of IPFW is less documentation vs PF, even less without natd (which we’re not using), and this took me time to figure this out.</p>

<p>But since my T730 is already packed, I am testing this on a old PC with two NICs, and my laptop [1] as a client with an USB-to-Ethernet adapter.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/pkgsrc-users/2020/01/05/msg030124.html" rel="nofollow">HEADS UP: Wayland and WebRTC enabled for NetBSD 9/Linux</a></h3>

<blockquote>
<p>This is just a heads up that the Wayland option is now turned on by</p>
</blockquote>

<p>default for NetBSD 9 and Linux in cases where it peacefully coexists<br>
with X11. </p>

<ul>
<li>Right now, this effects the following packages: 

<ul>
<li>graphics/MesaLib</li>
<li>devel/SDL2</li>
<li>www/webkit-gtk</li>
<li>x11/gtk3</li>
</ul></li>
</ul>

<blockquote>
<p>The WebRTC option has also been enabled by default on NetBSD 9 for two Firefox versions: www/firefox, www/firefox68</p>

<p>Please keep me informed of any fallout. Hopefully, there will be none.</p>

<p>If you want to try out Wayland-related things on NetBSD 9, wm/velox/MESSAGE may be interesting for you.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" rel="nofollow">LLDB Threading support now ready for mainline</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I&#39;ve been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD&#39;s ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I&#39;ve started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.</p>

<p>So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I&#39;ve finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.</p>
</blockquote>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20191115064850" rel="nofollow">OpenSSH U2F/FIDO support in base</a></h3>

<blockquote>
<p>Hardware backed keys can be generated using &quot;ssh-keygen -t ecdsa-sk&quot; (or &quot;ed25519-sk&quot; if your token supports it). Many tokens require to be touched/tapped to confirm this step.</p>

<p>You&#39;ll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a &quot;key handle&quot; that is used by the security key to derive the real private key at signing time.</p>

<p>So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything.</p>
</blockquote>

<hr>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-December/720257.html" rel="nofollow">drm/i915: Update to Linux 4.8.17</a></h3>

<ul>
<li> drm/i915: Update to Linux 4.8.17

<ul>
<li>Broxton, Valleyview and Cherryview support improvements</li>
<li>Broadwell and Gen9/Skylake support improvements</li>
<li>Broadwell brightness fixes from OpenBSD</li>
<li>Atomic modesetting improvements</li>
<li>Various bug fixes and performance enhancements</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/tagattie/FreeBSD-VSCode" rel="nofollow">Visual Studio Code port for FreeBSD</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&m=157488907117170&w=2" rel="nofollow">OpenBSD syscall call-from verification</a></li>
<li><a href="https://www.22decembre.eu/en/2019/12/09/peertube-14-openbsd/" rel="nofollow">Peertube on OpenBSD</a></li>
<li><a href="https://www.youtube.com/watch?v=bbNCqFdQEyk&feature=youtu.be" rel="nofollow">Fuzzing Filesystems on NetBSD via AFL+KCOV by Maciej Grochowski</a></li>
<li><a href="https://twitter.com/prop65bot/status/1199003319307558912" rel="nofollow">Twitter Bot for Prop65</a></li>
<li><a href="https://www.openvim.com/" rel="nofollow">Interactive vim tutorial</a></li>
<li><a href="http://studybsd.com/" rel="nofollow">First BSD user group meeting in Hamilton, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Samir - <a href="http://dpaste.com/2B22M24#wrap" rel="nofollow">cgit</a></li>
<li>Russell - <a href="http://dpaste.com/0J5TYY0#wrap" rel="nofollow">R</a></li>
<li>Wolfgang - <a href="http://dpaste.com/3MQAH27#wrap" rel="nofollow">Question</a></li>
</ul>

<hr>

<ul>
<li>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></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0332.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Announcing HyperbolaBSD, IPFW In-Kernel NAT setup on FreeBSD, Wayland and WebRTC enabled for NetBSD 9/Linux, LLDB Threading support ready for mainline, OpenSSH U2F/FIDO support in base, Dragonfly drm/i915: Update, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.hyperbola.info/news/announcing-hyperbolabsd-roadmap/" rel="nofollow">HyperbolaBSD Announcement</a></h3>

<blockquote>
<p>Due to the Linux kernel rapidly proceeding down an unstable path, we are planning on implementing a completely new OS derived from several BSD implementations.</p>

<p>This was not an easy decision to make, but we wish to use our time and resources to create a viable alternative to the current operating system trends which are actively seeking to undermine user choice and freedom.</p>

<p>This will not be a &quot;distro&quot;, but a hard fork of the OpenBSD kernel and userspace including new code written under GPLv3 and LGPLv3 to replace GPL-incompatible parts and non-free ones.</p>
</blockquote>

<ul>
<li>Reasons for this include:

<ul>
<li>Linux kernel forcing adaption of DRM, including HDCP.</li>
<li>Linux kernel proposed usage of Rust (which contains freedom flaws and a centralized code repository that is more prone to cyber attack and generally requires internet access to use.)</li>
<li>Linux kernel being written without security and in mind. (KSPP is basically a dead project and Grsec is no longer free software)</li>
<li>Many GNU userspace and core utils are all forcing adaption of features without build time options to disable them. E.g. (PulseAudio / SystemD / Rust / Java as forced dependencies)</li>
<li>As such, we will continue to support the Milky Way branch until 2022 when our legacy Linux-libre kernel reaches End of Life.</li>
</ul></li>
</ul>

<blockquote>
<p>Future versions of Hyperbola will be using HyperbolaBSD which will have the new kernel, userspace and not be ABI compatible with previous versions.</p>

<p>HyperbolaBSD is intended to be modular and minimalist so other projects will be able to re-use the code under free license.</p>
</blockquote>

<ul>
<li><a href="https://forums.hyperbola.info/viewtopic.php?id=315" rel="nofollow">Forum Post</a> </li>
</ul>

<hr>

<h3><a href="https://www.neelc.org/posts/freebsd-ipfw-nat/" rel="nofollow">A simple IPFW In-Kernel NAT setup on FreeBSD</a></h3>

<blockquote>
<p>After graduating college, I am moving from Brooklyn, NY to Redmond, WA (guess where I got a job). I always wanted to re-do my OPNsense firewall (currently a HP T730) with stock FreeBSD and IPFW’s in-kernel NAT.</p>

<p>Why IPFW? Benchmarks have shown IPFW to be faster which is especially good for my Tor relay, and because I can! However, one downside of IPFW is less documentation vs PF, even less without natd (which we’re not using), and this took me time to figure this out.</p>

<p>But since my T730 is already packed, I am testing this on a old PC with two NICs, and my laptop [1] as a client with an USB-to-Ethernet adapter.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/pkgsrc-users/2020/01/05/msg030124.html" rel="nofollow">HEADS UP: Wayland and WebRTC enabled for NetBSD 9/Linux</a></h3>

<blockquote>
<p>This is just a heads up that the Wayland option is now turned on by</p>
</blockquote>

<p>default for NetBSD 9 and Linux in cases where it peacefully coexists<br>
with X11. </p>

<ul>
<li>Right now, this effects the following packages: 

<ul>
<li>graphics/MesaLib</li>
<li>devel/SDL2</li>
<li>www/webkit-gtk</li>
<li>x11/gtk3</li>
</ul></li>
</ul>

<blockquote>
<p>The WebRTC option has also been enabled by default on NetBSD 9 for two Firefox versions: www/firefox, www/firefox68</p>

<p>Please keep me informed of any fallout. Hopefully, there will be none.</p>

<p>If you want to try out Wayland-related things on NetBSD 9, wm/velox/MESSAGE may be interesting for you.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" rel="nofollow">LLDB Threading support now ready for mainline</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I&#39;ve been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD&#39;s ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I&#39;ve started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.</p>

<p>So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I&#39;ve finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.</p>
</blockquote>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20191115064850" rel="nofollow">OpenSSH U2F/FIDO support in base</a></h3>

<blockquote>
<p>Hardware backed keys can be generated using &quot;ssh-keygen -t ecdsa-sk&quot; (or &quot;ed25519-sk&quot; if your token supports it). Many tokens require to be touched/tapped to confirm this step.</p>

<p>You&#39;ll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a &quot;key handle&quot; that is used by the security key to derive the real private key at signing time.</p>

<p>So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything.</p>
</blockquote>

<hr>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-December/720257.html" rel="nofollow">drm/i915: Update to Linux 4.8.17</a></h3>

<ul>
<li> drm/i915: Update to Linux 4.8.17

<ul>
<li>Broxton, Valleyview and Cherryview support improvements</li>
<li>Broadwell and Gen9/Skylake support improvements</li>
<li>Broadwell brightness fixes from OpenBSD</li>
<li>Atomic modesetting improvements</li>
<li>Various bug fixes and performance enhancements</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/tagattie/FreeBSD-VSCode" rel="nofollow">Visual Studio Code port for FreeBSD</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&m=157488907117170&w=2" rel="nofollow">OpenBSD syscall call-from verification</a></li>
<li><a href="https://www.22decembre.eu/en/2019/12/09/peertube-14-openbsd/" rel="nofollow">Peertube on OpenBSD</a></li>
<li><a href="https://www.youtube.com/watch?v=bbNCqFdQEyk&feature=youtu.be" rel="nofollow">Fuzzing Filesystems on NetBSD via AFL+KCOV by Maciej Grochowski</a></li>
<li><a href="https://twitter.com/prop65bot/status/1199003319307558912" rel="nofollow">Twitter Bot for Prop65</a></li>
<li><a href="https://www.openvim.com/" rel="nofollow">Interactive vim tutorial</a></li>
<li><a href="http://studybsd.com/" rel="nofollow">First BSD user group meeting in Hamilton, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Samir - <a href="http://dpaste.com/2B22M24#wrap" rel="nofollow">cgit</a></li>
<li>Russell - <a href="http://dpaste.com/0J5TYY0#wrap" rel="nofollow">R</a></li>
<li>Wolfgang - <a href="http://dpaste.com/3MQAH27#wrap" rel="nofollow">Question</a></li>
</ul>

<hr>

<ul>
<li>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></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0332.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </itunes:summary>
</item>
<item>
  <title>308: Mumbling with OpenBSD</title>
  <link>https://www.bsdnow.tv/308</link>
  <guid isPermaLink="false">583db96b-f838-461b-a366-c6d49825c5be</guid>
  <pubDate>Wed, 24 Jul 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/583db96b-f838-461b-a366-c6d49825c5be.mp3" length="31984767" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Replacing a (silently) failing disk in a ZFS pool, OPNsense 19.7 RC1 released, implementing DRM ioctl support for NetBSD, High quality/low latency VOIP server with umurmur/Mumble on OpenBSD, the PDP-7 where Unix began, LLDB watchpoints, and more.</itunes:subtitle>
  <itunes:duration>44:25</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>Replacing a (silently) failing disk in a ZFS pool, OPNsense 19.7 RC1 released, implementing DRM ioctl support for NetBSD, High quality/low latency VOIP server with umurmur/Mumble on OpenBSD, the PDP-7 where Unix began, LLDB watchpoints, and more.
Headlines
Replacing a (silently) failing disk in a ZFS pool (https://imil.net/blog/2019/07/02/Replacing-a-silently-failing-disk-in-a-ZFS-pool/)
Maybe I can’t read, but I have the feeling that official documentations explain every single corner case for a given tool, except the one you will actually need. My today’s struggle: replacing a disk within a FreeBSD ZFS pool.
What? there’s a shitton of docs on this topic! Are you stupid?
I don’t know, maybe. Yet none covered the process in a simple, straight and complete manner.
OPNsense 19.7 RC1 released (https://opnsense.org/opnsense-19-7-rc1-released/)
Hi there,
For four and a half years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.
We thank all of you for helping test, shape and contribute to the project! We know it would not be the same without you.
Download links, an installation guide[1] and the checksums for the images can be found below as well.
News Roundup
Implementation of DRM ioctl Support for NetBSD kernel (https://blog.netbsd.org/tnf/entry/implementation_of_drm_ioctl_support)
What is DRM ioctl ?
Ioctls are input/output control system calls and DRM stands for direct rendering manager The DRM layer provides several services to graphics drivers, many of them driven by the application interfaces it provides through libdrm, the library that wraps most of the DRM ioctls. These include vblank event handling, memory management, output management, framebuffer management, command submission &amp;amp; fencing, suspend/resume support, and DMA services.
Native DRM ioctl calls
NetBSD was able to make native DRM ioctl calls with hardware rendering once xorg and proper mesa packages where installed. We used the glxinfo and glxgears applications to test this out.
High quality / low latency VOIP server with umurmur/Mumble on OpenBSD (https://dataswamp.org/~solene/2019-07-04-umurmur.html)
Discord users keep telling about their so called discord server, which is not dedicated to them at all. And Discord has a very bad quality and a lot of voice distorsion.
Why not run your very own mumble server with high voice quality and low latency and privacy respect? This is very easy to setup on OpenBSD!
Mumble is an open source voip client, it has a client named Mumble (available on various operating system) and at least Android, the server part is murmur but there is a lightweight server named umurmur. People authentication is done through certificate generated locally and automatically accepted on a server, and the certificate get associated with a nickname. Nobody can pick the same nickname as another person if it’s not the same certificate.
TMWL June’19 — JS Fetch API, scheduling in Spring, thoughts on Unix (https://blog.softwaremill.com/tmwl-june19-js-fetch-api-scheduling-in-spring-thoughts-on-unix-fd54f50ecd64)
Unix — going back to the roots
From time to time, I like to review my knowledge in a certain area, even when I feel like I know a lot about it already. I go back to the basics and read tutorials, manuals, books or watch interesting videos.
I’ve been using macOS for a couple of years now, previously being a linux user for some (relatively short) time. Both these operating systems have a common ancestor — Unix. While I’m definitely not an expert, I feel quite comfortable using linux &amp;amp; macOS — I understand the concepts behind the system architecture, know a lot of command line tools &amp;amp; navigate through the shell without a hassle. So-called unix philosophy is also close to my heart. I always feel like there’s more I could squeeze out of it.
Recently, I found that book titled “Unix for dummies, 5th edition” which was published back in… 2004. Feels literally like AGES in the computer-related world. However, it was a great shot — the book starts with the basics, providing some brief history of Unix and how it came to life. It talks a lot about the structure of the system and where certain pieces fit (eg. “standard” set of tools), and how to understand permissions and work with files &amp;amp; directories. There’s even a whole chapter about shell-based text editors like Vi and Emacs! Despite the fact that I am familiar with most of these, I could still find some interesting pieces &amp;amp; tools that I either knew existed (but never had a chance to use), or even haven’t ever heard of. And almost all of these are still valid in the modern “incarnations” of Unix’s descendants: Linux and macOS.
The book also talks about networking, surfing the web &amp;amp; working with email. It’s cute to see pictures of those old browsers rendering “ancient” Internet websites, but hey — this is how it looked like no more than fifteen years ago!
I can really recommend this book to anyone working on modern macOS or Linux — you will certainly find some interesting pieces. Especially if you like to go back to the roots from time to time as I do!
ThePDP-7 Where Unix Began (https://bsdimp.blogspot.com/2019/07/the-pdp-7-where-unix-began.html)
In preparation for a talk on Seventh Edition Unix this fall, I stumbled upon a service list from DEC for all known PDP-7 machines. From that list, and other sources, I believe that PDP-7 serial number 34 was the original Unix machine.
V0 Unix could run on only one of the PDP-7s. Of the 99 PDP-7s produced, only two had disks. Serial number 14 had an RA01 listed, presumably a disk, though of a different type. In addition to the PDP-7 being obsolete in 1970, no other PDP-7 could run Unix, limiting its appeal outside of Bell Labs. By porting Unix to the PDP-11 in 1970, the group ensured Unix would live on into the future. The PDP-9 and PDP-15 were both upgrades of the PDP-7, so to be fair, PDP-7 Unix did have a natural upgrade path (the PDP-11 out sold the 18 bit systems though ~600,000 to ~1000). Ken Thompson reports in a private email that there were 2 PDP-9s and 1 PDP-15 at Bell Labs that could run a version of the PDP-7 Unix, though those machines were viewed as born obsolete.
LLDB: watchpoints, XSTATE in ptrace() and core dumps (https://blog.netbsd.org/tnf/entry/lldb_watchpoints_xstate_in_ptrace)
Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD's ptrace interface to cover more register types and fix compat32 issues. You can read more about that in my May 2019 report.
In June, I have finally finished the remaining ptrace() work for xstate and got it merged both on NetBSD and LLDB end (meaning it's going to make it into NetBSD 9). I have also worked on debug register support in LLDB, effectively fixing watchpoint support. Once again I had to fight some upstream regressions.
Beastie Bits
Project Trident 19.07 Available (https://project-trident.org/post/2019-07-12_19.07_available/)
A list of names from "Cold Blood" -- Any familiar? (https://www.montanalinux.org/cold-blood-list-of-numbers-201907.html)
fern: a curses-based mastodon client modeled off usenet news readers &amp;amp; pine, with an emphasis on getting to 'timeline zero' (https://github.com/enkiv2/fern)
OpenBSD Community goes Platinum for 2019! (https://undeadly.org/cgi?action=article;sid=20190707065226)
tcp keepalive and dports on DragonFly (https://www.dragonflydigest.com/2019/07/15/23199.html)
Feedback/Questions
Patrick - OpenZFS/ZoL Module from Ports (http://dpaste.com/1W2HJ04)
Brad - Services not starting (http://dpaste.com/345VM9Y#wrap)
Simon - Feedback (http://dpaste.com/1B4ZKC8#wrap)
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)

    
    Your browser does not support the HTML5 video tag.

 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, zfs, zpool, opnsense, drm, voip, umurmur, mumble, pdp-7, lldp, watchpoints</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Replacing a (silently) failing disk in a ZFS pool, OPNsense 19.7 RC1 released, implementing DRM ioctl support for NetBSD, High quality/low latency VOIP server with umurmur/Mumble on OpenBSD, the PDP-7 where Unix began, LLDB watchpoints, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://imil.net/blog/2019/07/02/Replacing-a-silently-failing-disk-in-a-ZFS-pool/" rel="nofollow">Replacing a (silently) failing disk in a ZFS pool</a></h3>

<blockquote>
<p>Maybe I can’t read, but I have the feeling that official documentations explain every single corner case for a given tool, except the one you will actually need. My today’s struggle: replacing a disk within a FreeBSD ZFS pool.<br>
What? there’s a shitton of docs on this topic! Are you stupid?<br>
I don’t know, maybe. Yet none covered the process in a simple, straight and complete manner.</p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-7-rc1-released/" rel="nofollow">OPNsense 19.7 RC1 released</a></h3>

<blockquote>
<p>Hi there,<br>
For four and a half years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.<br>
We thank all of you for helping test, shape and contribute to the project! We know it would not be the same without you.<br>
Download links, an installation guide[1] and the checksums for the images can be found below as well.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/implementation_of_drm_ioctl_support" rel="nofollow">Implementation of DRM ioctl Support for NetBSD kernel</a></h3>

<ul>
<li>What is DRM ioctl ?</li>
</ul>

<blockquote>
<p>Ioctls are input/output control system calls and DRM stands for direct rendering manager The DRM layer provides several services to graphics drivers, many of them driven by the application interfaces it provides through libdrm, the library that wraps most of the DRM ioctls. These include vblank event handling, memory management, output management, framebuffer management, command submission &amp; fencing, suspend/resume support, and DMA services.</p>
</blockquote>

<ul>
<li>Native DRM ioctl calls</li>
</ul>

<blockquote>
<p>NetBSD was able to make native DRM ioctl calls with hardware rendering once xorg and proper mesa packages where installed. We used the glxinfo and glxgears applications to test this out.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2019-07-04-umurmur.html" rel="nofollow">High quality / low latency VOIP server with umurmur/Mumble on OpenBSD</a></h3>

<blockquote>
<p>Discord users keep telling about their so called discord server, which is not dedicated to them at all. And Discord has a very bad quality and a lot of voice distorsion.<br>
Why not run your very own mumble server with high voice quality and low latency and privacy respect? This is very easy to setup on OpenBSD!<br>
Mumble is an open source voip client, it has a client named Mumble (available on various operating system) and at least Android, the server part is murmur but there is a lightweight server named umurmur. People authentication is done through certificate generated locally and automatically accepted on a server, and the certificate get associated with a nickname. Nobody can pick the same nickname as another person if it’s not the same certificate.</p>
</blockquote>

<hr>

<h3><a href="https://blog.softwaremill.com/tmwl-june19-js-fetch-api-scheduling-in-spring-thoughts-on-unix-fd54f50ecd64" rel="nofollow">TMWL June’19 — JS Fetch API, scheduling in Spring, thoughts on Unix</a></h3>

<ul>
<li>Unix — going back to the roots</li>
</ul>

<blockquote>
<p>From time to time, I like to review my knowledge in a certain area, even when I feel like I know a lot about it already. I go back to the basics and read tutorials, manuals, books or watch interesting videos.<br>
I’ve been using macOS for a couple of years now, previously being a linux user for some (relatively short) time. Both these operating systems have a common ancestor — Unix. While I’m definitely not an expert, I feel quite comfortable using linux &amp; macOS — I understand the concepts behind the system architecture, know a lot of command line tools &amp; navigate through the shell without a hassle. So-called unix philosophy is also close to my heart. I always feel like there’s more I could squeeze out of it.<br>
Recently, I found that book titled “Unix for dummies, 5th edition” which was published back in… 2004. Feels literally like AGES in the computer-related world. However, it was a great shot — the book starts with the basics, providing some brief history of Unix and how it came to life. It talks a lot about the structure of the system and where certain pieces fit (eg. “standard” set of tools), and how to understand permissions and work with files &amp; directories. There’s even a whole chapter about shell-based text editors like Vi and Emacs! Despite the fact that I am familiar with most of these, I could still find some interesting pieces &amp; tools that I either knew existed (but never had a chance to use), or even haven’t ever heard of. And almost all of these are still valid in the modern “incarnations” of Unix’s descendants: Linux and macOS.<br>
The book also talks about networking, surfing the web &amp; working with email. It’s cute to see pictures of those old browsers rendering “ancient” Internet websites, but hey — this is how it looked like no more than fifteen years ago!<br>
I can really recommend this book to anyone working on modern macOS or Linux — you will certainly find some interesting pieces. Especially if you like to go back to the roots from time to time as I do!</p>
</blockquote>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2019/07/the-pdp-7-where-unix-began.html" rel="nofollow">ThePDP-7 Where Unix Began</a></h3>

<blockquote>
<p>In preparation for a talk on Seventh Edition Unix this fall, I stumbled upon a service list from DEC for all known PDP-7 machines. From that list, and other sources, I believe that PDP-7 serial number 34 was the original Unix machine.<br>
V0 Unix could run on only one of the PDP-7s. Of the 99 PDP-7s produced, only two had disks. Serial number 14 had an RA01 listed, presumably a disk, though of a different type. In addition to the PDP-7 being obsolete in 1970, no other PDP-7 could run Unix, limiting its appeal outside of Bell Labs. By porting Unix to the PDP-11 in 1970, the group ensured Unix would live on into the future. The PDP-9 and PDP-15 were both upgrades of the PDP-7, so to be fair, PDP-7 Unix did have a natural upgrade path (the PDP-11 out sold the 18 bit systems though ~600,000 to ~1000). Ken Thompson reports in a private email that there were 2 PDP-9s and 1 PDP-15 at Bell Labs that could run a version of the PDP-7 Unix, though those machines were viewed as born obsolete.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_watchpoints_xstate_in_ptrace" rel="nofollow">LLDB: watchpoints, XSTATE in ptrace() and core dumps</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.<br>
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I&#39;ve been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD&#39;s ptrace interface to cover more register types and fix compat32 issues. You can read more about that in my May 2019 report.<br>
In June, I have finally finished the remaining ptrace() work for xstate and got it merged both on NetBSD and LLDB end (meaning it&#39;s going to make it into NetBSD 9). I have also worked on debug register support in LLDB, effectively fixing watchpoint support. Once again I had to fight some upstream regressions.</p>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://project-trident.org/post/2019-07-12_19.07_available/" rel="nofollow">Project Trident 19.07 Available</a></li>
<li><a href="https://www.montanalinux.org/cold-blood-list-of-numbers-201907.html" rel="nofollow">A list of names from &quot;Cold Blood&quot; -- Any familiar?</a></li>
<li><a href="https://github.com/enkiv2/fern" rel="nofollow">fern: a curses-based mastodon client modeled off usenet news readers &amp; pine, with an emphasis on getting to &#39;timeline zero&#39;</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20190707065226" rel="nofollow">OpenBSD Community goes Platinum for 2019!</a></li>
<li><a href="https://www.dragonflydigest.com/2019/07/15/23199.html" rel="nofollow">tcp keepalive and dports on DragonFly</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Patrick - <a href="http://dpaste.com/1W2HJ04" rel="nofollow">OpenZFS/ZoL Module from Ports</a></li>
<li>Brad - <a href="http://dpaste.com/345VM9Y#wrap" rel="nofollow">Services not starting</a></li>
<li>Simon - <a href="http://dpaste.com/1B4ZKC8#wrap" rel="nofollow">Feedback</a></li>
</ul>

<hr>

<ul>
<li>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></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0308.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Replacing a (silently) failing disk in a ZFS pool, OPNsense 19.7 RC1 released, implementing DRM ioctl support for NetBSD, High quality/low latency VOIP server with umurmur/Mumble on OpenBSD, the PDP-7 where Unix began, LLDB watchpoints, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://imil.net/blog/2019/07/02/Replacing-a-silently-failing-disk-in-a-ZFS-pool/" rel="nofollow">Replacing a (silently) failing disk in a ZFS pool</a></h3>

<blockquote>
<p>Maybe I can’t read, but I have the feeling that official documentations explain every single corner case for a given tool, except the one you will actually need. My today’s struggle: replacing a disk within a FreeBSD ZFS pool.<br>
What? there’s a shitton of docs on this topic! Are you stupid?<br>
I don’t know, maybe. Yet none covered the process in a simple, straight and complete manner.</p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-7-rc1-released/" rel="nofollow">OPNsense 19.7 RC1 released</a></h3>

<blockquote>
<p>Hi there,<br>
For four and a half years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.<br>
We thank all of you for helping test, shape and contribute to the project! We know it would not be the same without you.<br>
Download links, an installation guide[1] and the checksums for the images can be found below as well.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/implementation_of_drm_ioctl_support" rel="nofollow">Implementation of DRM ioctl Support for NetBSD kernel</a></h3>

<ul>
<li>What is DRM ioctl ?</li>
</ul>

<blockquote>
<p>Ioctls are input/output control system calls and DRM stands for direct rendering manager The DRM layer provides several services to graphics drivers, many of them driven by the application interfaces it provides through libdrm, the library that wraps most of the DRM ioctls. These include vblank event handling, memory management, output management, framebuffer management, command submission &amp; fencing, suspend/resume support, and DMA services.</p>
</blockquote>

<ul>
<li>Native DRM ioctl calls</li>
</ul>

<blockquote>
<p>NetBSD was able to make native DRM ioctl calls with hardware rendering once xorg and proper mesa packages where installed. We used the glxinfo and glxgears applications to test this out.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2019-07-04-umurmur.html" rel="nofollow">High quality / low latency VOIP server with umurmur/Mumble on OpenBSD</a></h3>

<blockquote>
<p>Discord users keep telling about their so called discord server, which is not dedicated to them at all. And Discord has a very bad quality and a lot of voice distorsion.<br>
Why not run your very own mumble server with high voice quality and low latency and privacy respect? This is very easy to setup on OpenBSD!<br>
Mumble is an open source voip client, it has a client named Mumble (available on various operating system) and at least Android, the server part is murmur but there is a lightweight server named umurmur. People authentication is done through certificate generated locally and automatically accepted on a server, and the certificate get associated with a nickname. Nobody can pick the same nickname as another person if it’s not the same certificate.</p>
</blockquote>

<hr>

<h3><a href="https://blog.softwaremill.com/tmwl-june19-js-fetch-api-scheduling-in-spring-thoughts-on-unix-fd54f50ecd64" rel="nofollow">TMWL June’19 — JS Fetch API, scheduling in Spring, thoughts on Unix</a></h3>

<ul>
<li>Unix — going back to the roots</li>
</ul>

<blockquote>
<p>From time to time, I like to review my knowledge in a certain area, even when I feel like I know a lot about it already. I go back to the basics and read tutorials, manuals, books or watch interesting videos.<br>
I’ve been using macOS for a couple of years now, previously being a linux user for some (relatively short) time. Both these operating systems have a common ancestor — Unix. While I’m definitely not an expert, I feel quite comfortable using linux &amp; macOS — I understand the concepts behind the system architecture, know a lot of command line tools &amp; navigate through the shell without a hassle. So-called unix philosophy is also close to my heart. I always feel like there’s more I could squeeze out of it.<br>
Recently, I found that book titled “Unix for dummies, 5th edition” which was published back in… 2004. Feels literally like AGES in the computer-related world. However, it was a great shot — the book starts with the basics, providing some brief history of Unix and how it came to life. It talks a lot about the structure of the system and where certain pieces fit (eg. “standard” set of tools), and how to understand permissions and work with files &amp; directories. There’s even a whole chapter about shell-based text editors like Vi and Emacs! Despite the fact that I am familiar with most of these, I could still find some interesting pieces &amp; tools that I either knew existed (but never had a chance to use), or even haven’t ever heard of. And almost all of these are still valid in the modern “incarnations” of Unix’s descendants: Linux and macOS.<br>
The book also talks about networking, surfing the web &amp; working with email. It’s cute to see pictures of those old browsers rendering “ancient” Internet websites, but hey — this is how it looked like no more than fifteen years ago!<br>
I can really recommend this book to anyone working on modern macOS or Linux — you will certainly find some interesting pieces. Especially if you like to go back to the roots from time to time as I do!</p>
</blockquote>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2019/07/the-pdp-7-where-unix-began.html" rel="nofollow">ThePDP-7 Where Unix Began</a></h3>

<blockquote>
<p>In preparation for a talk on Seventh Edition Unix this fall, I stumbled upon a service list from DEC for all known PDP-7 machines. From that list, and other sources, I believe that PDP-7 serial number 34 was the original Unix machine.<br>
V0 Unix could run on only one of the PDP-7s. Of the 99 PDP-7s produced, only two had disks. Serial number 14 had an RA01 listed, presumably a disk, though of a different type. In addition to the PDP-7 being obsolete in 1970, no other PDP-7 could run Unix, limiting its appeal outside of Bell Labs. By porting Unix to the PDP-11 in 1970, the group ensured Unix would live on into the future. The PDP-9 and PDP-15 were both upgrades of the PDP-7, so to be fair, PDP-7 Unix did have a natural upgrade path (the PDP-11 out sold the 18 bit systems though ~600,000 to ~1000). Ken Thompson reports in a private email that there were 2 PDP-9s and 1 PDP-15 at Bell Labs that could run a version of the PDP-7 Unix, though those machines were viewed as born obsolete.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_watchpoints_xstate_in_ptrace" rel="nofollow">LLDB: watchpoints, XSTATE in ptrace() and core dumps</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.<br>
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I&#39;ve been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD&#39;s ptrace interface to cover more register types and fix compat32 issues. You can read more about that in my May 2019 report.<br>
In June, I have finally finished the remaining ptrace() work for xstate and got it merged both on NetBSD and LLDB end (meaning it&#39;s going to make it into NetBSD 9). I have also worked on debug register support in LLDB, effectively fixing watchpoint support. Once again I had to fight some upstream regressions.</p>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://project-trident.org/post/2019-07-12_19.07_available/" rel="nofollow">Project Trident 19.07 Available</a></li>
<li><a href="https://www.montanalinux.org/cold-blood-list-of-numbers-201907.html" rel="nofollow">A list of names from &quot;Cold Blood&quot; -- Any familiar?</a></li>
<li><a href="https://github.com/enkiv2/fern" rel="nofollow">fern: a curses-based mastodon client modeled off usenet news readers &amp; pine, with an emphasis on getting to &#39;timeline zero&#39;</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20190707065226" rel="nofollow">OpenBSD Community goes Platinum for 2019!</a></li>
<li><a href="https://www.dragonflydigest.com/2019/07/15/23199.html" rel="nofollow">tcp keepalive and dports on DragonFly</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Patrick - <a href="http://dpaste.com/1W2HJ04" rel="nofollow">OpenZFS/ZoL Module from Ports</a></li>
<li>Brad - <a href="http://dpaste.com/345VM9Y#wrap" rel="nofollow">Services not starting</a></li>
<li>Simon - <a href="http://dpaste.com/1B4ZKC8#wrap" rel="nofollow">Feedback</a></li>
</ul>

<hr>

<ul>
<li>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></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0308.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </itunes:summary>
</item>
<item>
  <title>304: Prospering with Vulkan</title>
  <link>https://www.bsdnow.tv/304</link>
  <guid isPermaLink="false">6da25674-3858-4ebc-b4a5-257e1eefcbf4</guid>
  <pubDate>Thu, 27 Jun 2019 03:45:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6da25674-3858-4ebc-b4a5-257e1eefcbf4.mp3" length="45762060" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonflyBSD 5.6 is out, OpenBSD Vulkan Support, bad utmp implementations in glibc and FreeBSD, OpenSSH protects itself against Side Channel attacks, ZFS vs OpenZFS, and more.</itunes:subtitle>
  <itunes:duration>1:03:33</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>DragonflyBSD 5.6 is out, OpenBSD Vulkan Support, bad utmp implementations in glibc and FreeBSD, OpenSSH protects itself against Side Channel attacks, ZFS vs OpenZFS, and more.
Headlines
DragonflyBSD 5.6 is out (https://www.dragonflybsd.org/release56)
Version 5.6.0 released 17 June 2019
Version 5.6.1 released 19 June 2019 (https://www.dragonflydigest.com/2019/06/19/23091.html)
Big-ticket items
Improved VM
Informal test results showing the changes from 5.4 to 5.6 are available.
Reduce stalls in the kernel vmpagealloc() code (vmpagelist_find()).
Improve page allocation algorithm to avoid re-iterating the same queues as the search is widened.
Add a vmpagehash*() API that allows the kernel to do heuristical lockless lookups of VM pages.
Change vmhold() and vmunhold() semantics to not require any spin-locks.
Change vmpagewakeup() to not require any spin-locks.
Change wiring vm_page's no longer manipulates the queue the page is on, saving a lot of overhead. Instead, the page will be removed from its queue only if the pageout demon encounters it. This allows pages to enter and leave the buffer cache quickly.
Refactor the handling of fictitious pages.
Remove m-&amp;gt;md.pvlist entirely. VM pages in mappings no longer allocate pventry's, saving an enormous amount of memory when multiple processes utilize large shared memory maps (e.g. postgres database cache).
Refactor vmobject shadowing, disconnecting the backing linkages from the vmobject itself and instead organizing the linkages in a new structure called vmmapbacking which hangs off the vmmapentry.
pmap operations now iterate vmmapbacking structures (rather than spin-locked page lists based on the vmpage and pventry's), and will test/match operations against the PTE found in the pmap at the requisite location. This doubles VM fault performance on shared pages and reduces the locking overhead for fault and pmap operations.
Simplify the collapse code, removing most of the original code and replacing it with simpler per-vmmapentry optimizations to limit the shadow depth.
DRM
Major updates to the radeon and ttm (amd support code) drivers. We have not quite gotten the AMD support up to the more modern cards or Ryzen APUs yet, however.
Improve UEFI framebuffer support.
A major deadlock has been fixed in the radeon/ttm code.
Refactor the startup delay designed to avoid conflicts between the i915 driver initialization and X startup.
Add DRMIOCTLGET_PCIINFO to improve mesa/libdrm support.
Fix excessive wired memory build-ups.
Fix Linux/DragonFly PAGE_MASK confusion in the DRM code.
Fix idr_*() API bugs.
HAMMER2
The filesystem sync code has been rewritten to significantly improve performance.
Sequential write performance also improved.
Add simple dependency tracking to prevent directory/file splits during create/rename/remove operations, for better consistency after a crash.
Refactor the snapshot code to reduce flush latency and to ensure a consistent snapshot.
Attempt to pipeline the flush code against the frontend, improving flush vs frontend write concurrency.
Improve umount operation.
Fix an allocator race that could lead to corruption.
Numerous other bugs fixed.
Improve verbosity of CHECK (CRC error) console messages.
OpenBSD Vulkan Support (https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=OpenBSD-Vulkan-Support)
Somewhat surprisingly, OpenBSD has added the Vulkan library and ICD loader support as their newest port. 
This new graphics/vulkan-loader port provides the generic Vulkan library and ICD support that is the common code for Vulkan implementations on the system. This doesn't enable any Vulkan hardware drivers or provide something new not available elsewhere, but is rare seeing Vulkan work among the BSDs. There is also in ports the related components like the SPIR-V headers and tools, glsllang, and the Vulkan tools and validation layers. 
This is of limited usefulness, at least for the time being considering OpenBSD like the other BSDs lag behind in their DRM kernel driver support that is ported over from the mainline Linux kernel tree but generally years behind the kernel upstream. Particularly with Vulkan, newer kernel releases are needed for some Vulkan features as well as achieving decent performance. The Vulkan drivers of relevance are the open-source Intel ANV Vulkan driver and Radeon RADV drivers, both of which are in Mesa though we haven't seen any testing results to know how well they would work if at all currently on OpenBSD, but they're at least in Mesa and obviously open-source. 
+ A note: The BSDs are no longer that far behind.
+ FreeBSD 12.0 uses DRM from Linux 4.16 (April 2018), and the drm-devel port is based on Linux 5.0 (March 2019)
+ OpenBSD -current as of April 2019 uses DRM from Linux 4.19.34
News Roundup
Bad utmp implementations in glibc and freebsd (https://davmac.wordpress.com/2019/05/04/bad-utmp-implementations-in-glibc-and-freebsd/)
I recently released another version – 0.5.0 – of Dinit, the service manager / init system. There were a number of minor improvements, including to the build system (just running “make” or “gmake” should be enough on any of the systems which have a pre-defined configuration, no need to edit mconfig by hand), but the main features of the release were S6-compatible readiness notification, and support for updating the utmp database.
In other words, utmp is a record of who is currently logged in to the system (another file, “wtmp”, records all logins and logouts, as well as, potentially, certain system events such as reboots and time updates). This is a hint at the main motivation for having utmp support in Dinit – I wanted the “who” command to correctly report current logins (and I wanted boot time to be correctly recorded in the wtmp file).
I wondered: If the files consist of fixed-sized records, and are readable by regular users, how is consistency maintained? That is – how can a process ensure that, when it updates the database, it doesn’t conflict with another process also attempting to update the database at the same time? Similarly, how can a process reading an entry from the database be sure that it receives a consistent, full record and not a record which has been partially updated? (after all, POSIX allows that a write(2) call can return without having written all the requested bytes, and I’m not aware of Linux or any of the *BSDs documenting that this cannot happen for regular files). Clearly, some kind of locking is needed; a process that wants to write to or read from the database locks it first, performs its operation, and then unlocks the database. Once again, this happens under the hood, in the implementation of the getutent/pututline functions or their equivalents.
Then I wondered: if a user process is able to lock the utmp file, and this prevents updates, what’s to stop a user process from manually acquiring and then holding such a lock for a long – even practically infinite – duration? This would prevent the database from being updated, and would perhaps even prevent logins/logouts from completing. Unfortunately, the answer is – nothing; and yes, it is possible on different systems to prevent the database from being correctly updated or even to prevent all other users – including root – from logging in to the system.
+ A good find
+ On FreeBSD, even though write(2) can be asynchronous, once the write syscall returns, the data is in the buffer cache (or ARC), and any future read(2) will see that new data even if it has not yet been written to disk.
OpenSSH gets an update to protect against Side Channel attacks (https://securityboulevard.com/2019/06/openssh-code-gets-an-update-to-protect-against-side-channel-attacks/)
Last week, Damien Miller, a Google security researcher, and one of the popular OpenSSH and OpenBSD developers announced an update to the existing OpenSSH code that can help protect against the side-channel attacks that leak sensitive data from computer’s memory. This protection, Miller says, will protect the private keys residing in the RAM against Spectre, Meltdown, Rowhammer, and the latest RAMBleed attack.
SSH private keys can be used by malicious threat actors to connect to remote servers without the need of a password. According to CSO, “The approach used by OpenSSH could be copied by other software projects to protect their own keys and secrets in memory”.
However, if the attacker is successful in extracting the data from a computer or server’s RAM, they will only obtain an encrypted version of an SSH private key, rather than the cleartext version.
In an email to OpenBSD, Miller writes, “this change encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large ‘prekey’ consisting of random data (currently 16KB).”
ZFS vs OpenZFS (https://www.ixsystems.com/blog/zfs-vs-openzfs/)
You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. 
From its inception, “ZFS” has referred to the “Zettabyte File System” developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such as‘zfs create mypool/mydataset’ and I welcome you to watch the appropriately-titled webinar “Why we love ZFS &amp;amp; you should too” or try a completely-graphical ZFS experience with FreeNAS.
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of “ZFS” but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as “Oracle ZFS” and “OpenZFS” to distinguish them as development efforts, but the user still types the ‘zfs’ command, which on FreeBSD relies on the ‘zfs.ko’ kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.
+ There was further discussion of how the ZFSOnLinux repo will become the OpenZFS repo in the future once it also contains the bits to build on FreeBSD as well during the June 25th ZFS Leadership Meeting. The videos for all of the meetings are available here (https://www.youtube.com/channel/UC0IK6Y4Go2KtRueHDiQcxow)
Beastie Bits
How to safely and portably close a file descriptor in a multithreaded process without running into problems with EINTR (https://twitter.com/cperciva/status/1141852451756105729?s=03)
KnoxBug Meetup June 27th at 6pm (http://knoxbug.org/2019-06-27)
BSD Pizza Night, June 27th at 7pm, Flying Pie Pizzeria, 3 Monroe Pkwy, Ste S, Lake Oswego, OR (https://www.flying-pie.com/locations/lake-oswego/)
Difference between $x and ${x} (https://moopost.blogspot.com/2019/06/difference-between-x-and-x.html)
Beware of Software Engineering Media Sites (https://www.nemil.com/on-software-engineering/beware-engineering-media.html)
How Verizon and a BGP optimizer knocked large parts of the internet offline today (https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/)
DragonflyBSD - MDS mitigation added a while ago (http://lists.dragonflybsd.org/pipermail/commits/2019-May/718899.html)
Reminder: Register for EuroBSDcon 2019 in Lillehammer, Norway (https://eurobsdcon.org)
Feedback/Questions
Dave - CheriBSD (http://dpaste.com/38233JC)
Neb - Hello from Norway (http://dpaste.com/0B8XKXT#wrap)
Lars - Ansible tutorial? (http://dpaste.com/3N85SHR)
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)
***

    
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, vm, drm, hammer2, vulkan, openssh, zfs, openzfs,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonflyBSD 5.6 is out, OpenBSD Vulkan Support, bad utmp implementations in glibc and FreeBSD, OpenSSH protects itself against Side Channel attacks, ZFS vs OpenZFS, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release56" rel="nofollow">DragonflyBSD 5.6 is out</a></h3>

<ul>
<li>Version 5.6.0 released 17 June 2019</li>
<li><p><a href="https://www.dragonflydigest.com/2019/06/19/23091.html" rel="nofollow">Version 5.6.1 released 19 June 2019</a></p></li>
<li><p>Big-ticket items</p></li>
<li><p>Improved VM</p>

<ul>
<li>Informal test results showing the changes from 5.4 to 5.6 are available.</li>
<li>Reduce stalls in the kernel vm_page_alloc() code (vm_page_list_find()).</li>
<li>Improve page allocation algorithm to avoid re-iterating the same queues as the search is widened.</li>
<li>Add a vm_page_hash*() API that allows the kernel to do heuristical lockless lookups of VM pages.</li>
<li>Change vm_hold() and vm_unhold() semantics to not require any spin-locks.</li>
<li>Change vm_page_wakeup() to not require any spin-locks.</li>
<li>Change wiring vm_page&#39;s no longer manipulates the queue the page is on, saving a lot of overhead. Instead, the page will be removed from its queue only if the pageout demon encounters it. This allows pages to enter and leave the buffer cache quickly.</li>
<li>Refactor the handling of fictitious pages.</li>
<li>Remove m-&gt;md.pv_list entirely. VM pages in mappings no longer allocate pv_entry&#39;s, saving an enormous amount of memory when multiple processes utilize large shared memory maps (e.g. postgres database cache).</li>
<li>Refactor vm_object shadowing, disconnecting the backing linkages from the vm_object itself and instead organizing the linkages in a new structure called vm_map_backing which hangs off the vm_map_entry.</li>
<li>pmap operations now iterate vm_map_backing structures (rather than spin-locked page lists based on the vm_page and pv_entry&#39;s), and will test/match operations against the PTE found in the pmap at the requisite location. This doubles VM fault performance on shared pages and reduces the locking overhead for fault and pmap operations.</li>
<li>Simplify the collapse code, removing most of the original code and replacing it with simpler per-vm_map_entry optimizations to limit the shadow depth.</li>
</ul></li>
<li><p>DRM</p>

<ul>
<li>Major updates to the radeon and ttm (amd support code) drivers. We have not quite gotten the AMD support up to the more modern cards or Ryzen APUs yet, however.</li>
<li>Improve UEFI framebuffer support.</li>
<li>A major deadlock has been fixed in the radeon/ttm code.</li>
<li>Refactor the startup delay designed to avoid conflicts between the i915 driver initialization and X startup.</li>
<li>Add DRM_IOCTL_GET_PCIINFO to improve mesa/libdrm support.</li>
<li>Fix excessive wired memory build-ups.</li>
<li>Fix Linux/DragonFly PAGE_MASK confusion in the DRM code.</li>
<li>Fix idr_*() API bugs.</li>
</ul></li>
<li><p>HAMMER2</p>

<ul>
<li>The filesystem sync code has been rewritten to significantly improve performance.</li>
<li>Sequential write performance also improved.</li>
<li>Add simple dependency tracking to prevent directory/file splits during create/rename/remove operations, for better consistency after a crash.</li>
<li>Refactor the snapshot code to reduce flush latency and to ensure a consistent snapshot.</li>
<li>Attempt to pipeline the flush code against the frontend, improving flush vs frontend write concurrency.</li>
<li>Improve umount operation.</li>
<li>Fix an allocator race that could lead to corruption.</li>
<li>Numerous other bugs fixed.</li>
<li>Improve verbosity of CHECK (CRC error) console messages.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&px=OpenBSD-Vulkan-Support" rel="nofollow">OpenBSD Vulkan Support</a></h3>

<blockquote>
<p>Somewhat surprisingly, OpenBSD has added the Vulkan library and ICD loader support as their newest port. <br>
This new graphics/vulkan-loader port provides the generic Vulkan library and ICD support that is the common code for Vulkan implementations on the system. This doesn&#39;t enable any Vulkan hardware drivers or provide something new not available elsewhere, but is rare seeing Vulkan work among the BSDs. There is also in ports the related components like the SPIR-V headers and tools, glsllang, and the Vulkan tools and validation layers. <br>
This is of limited usefulness, at least for the time being considering OpenBSD like the other BSDs lag behind in their DRM kernel driver support that is ported over from the mainline Linux kernel tree but generally years behind the kernel upstream. Particularly with Vulkan, newer kernel releases are needed for some Vulkan features as well as achieving decent performance. The Vulkan drivers of relevance are the open-source Intel ANV Vulkan driver and Radeon RADV drivers, both of which are in Mesa though we haven&#39;t seen any testing results to know how well they would work if at all currently on OpenBSD, but they&#39;re at least in Mesa and obviously open-source. </p>

<ul>
<li>A note: The BSDs are no longer that far behind.</li>
<li>FreeBSD 12.0 uses DRM from Linux 4.16 (April 2018), and the drm-devel port is based on Linux 5.0 (March 2019)</li>
<li>OpenBSD -current as of April 2019 uses DRM from Linux 4.19.34
***</li>
</ul>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://davmac.wordpress.com/2019/05/04/bad-utmp-implementations-in-glibc-and-freebsd/" rel="nofollow">Bad utmp implementations in glibc and freebsd</a></h3>

<blockquote>
<p>I recently released another version – 0.5.0 – of Dinit, the service manager / init system. There were a number of minor improvements, including to the build system (just running “make” or “gmake” should be enough on any of the systems which have a pre-defined configuration, no need to edit mconfig by hand), but the main features of the release were S6-compatible readiness notification, and support for updating the utmp database.<br>
In other words, utmp is a record of who is currently logged in to the system (another file, “wtmp”, records all logins and logouts, as well as, potentially, certain system events such as reboots and time updates). This is a hint at the main motivation for having utmp support in Dinit – I wanted the “who” command to correctly report current logins (and I wanted boot time to be correctly recorded in the wtmp file).<br>
I wondered: If the files consist of fixed-sized records, and are readable by regular users, how is consistency maintained? That is – how can a process ensure that, when it updates the database, it doesn’t conflict with another process also attempting to update the database at the same time? Similarly, how can a process reading an entry from the database be sure that it receives a consistent, full record and not a record which has been partially updated? (after all, POSIX allows that a write(2) call can return without having written all the requested bytes, and I’m not aware of Linux or any of the *BSDs documenting that this cannot happen for regular files). Clearly, some kind of locking is needed; a process that wants to write to or read from the database locks it first, performs its operation, and then unlocks the database. Once again, this happens under the hood, in the implementation of the getutent/pututline functions or their equivalents.<br>
Then I wondered: if a user process is able to lock the utmp file, and this prevents updates, what’s to stop a user process from manually acquiring and then holding such a lock for a long – even practically infinite – duration? This would prevent the database from being updated, and would perhaps even prevent logins/logouts from completing. Unfortunately, the answer is – nothing; and yes, it is possible on different systems to prevent the database from being correctly updated or even to prevent all other users – including root – from logging in to the system.</p>

<ul>
<li>A good find</li>
<li>On FreeBSD, even though write(2) can be asynchronous, once the write syscall returns, the data is in the buffer cache (or ARC), and any future read(2) will see that new data even if it has not yet been written to disk.
***</li>
</ul>
</blockquote>

<h3><a href="https://securityboulevard.com/2019/06/openssh-code-gets-an-update-to-protect-against-side-channel-attacks/" rel="nofollow">OpenSSH gets an update to protect against Side Channel attacks</a></h3>

<blockquote>
<p>Last week, Damien Miller, a Google security researcher, and one of the popular OpenSSH and OpenBSD developers announced an update to the existing OpenSSH code that can help protect against the side-channel attacks that leak sensitive data from computer’s memory. This protection, Miller says, will protect the private keys residing in the RAM against Spectre, Meltdown, Rowhammer, and the latest RAMBleed attack.<br>
SSH private keys can be used by malicious threat actors to connect to remote servers without the need of a password. According to CSO, “The approach used by OpenSSH could be copied by other software projects to protect their own keys and secrets in memory”.<br>
However, if the attacker is successful in extracting the data from a computer or server’s RAM, they will only obtain an encrypted version of an SSH private key, rather than the cleartext version.<br>
In an email to OpenBSD, Miller writes, “this change encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large ‘prekey’ consisting of random data (currently 16KB).”</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" rel="nofollow">ZFS vs OpenZFS</a></h3>

<blockquote>
<p>You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. <br>
From its inception, “ZFS” has referred to the “Zettabyte File System” developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such as‘zfs create mypool/mydataset’ and I welcome you to watch the appropriately-titled webinar “Why we love ZFS &amp; you should too” or try a completely-graphical ZFS experience with FreeNAS.<br>
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of “ZFS” but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as “Oracle ZFS” and “OpenZFS” to distinguish them as development efforts, but the user still types the ‘zfs’ command, which on FreeBSD relies on the ‘zfs.ko’ kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.</p>

<ul>
<li>There was further discussion of how the ZFSOnLinux repo will become the OpenZFS repo in the future once it also contains the bits to build on FreeBSD as well during the June 25th ZFS Leadership Meeting. The videos for all of the meetings are available <a href="https://www.youtube.com/channel/UC0IK6Y4Go2KtRueHDiQcxow" rel="nofollow">here</a>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/cperciva/status/1141852451756105729?s=03" rel="nofollow">How to safely and portably close a file descriptor in a multithreaded process without running into problems with EINTR</a></li>
<li><a href="http://knoxbug.org/2019-06-27" rel="nofollow">KnoxBug Meetup June 27th at 6pm</a></li>
<li><a href="https://www.flying-pie.com/locations/lake-oswego/" rel="nofollow">BSD Pizza Night, June 27th at 7pm, Flying Pie Pizzeria, 3 Monroe Pkwy, Ste S, Lake Oswego, OR</a></li>
<li><a href="https://moopost.blogspot.com/2019/06/difference-between-x-and-x.html" rel="nofollow">Difference between $x and ${x}</a></li>
<li><a href="https://www.nemil.com/on-software-engineering/beware-engineering-media.html" rel="nofollow">Beware of Software Engineering Media Sites</a></li>
<li><a href="https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/" rel="nofollow">How Verizon and a BGP optimizer knocked large parts of the internet offline today</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-May/718899.html" rel="nofollow">DragonflyBSD - MDS mitigation added a while ago</a></li>
<li><a href="https://eurobsdcon.org" rel="nofollow">Reminder: Register for EuroBSDcon 2019 in Lillehammer, Norway</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Dave - <a href="http://dpaste.com/38233JC" rel="nofollow">CheriBSD</a></li>
<li>Neb - <a href="http://dpaste.com/0B8XKXT#wrap" rel="nofollow">Hello from Norway</a></li>
<li>Lars - <a href="http://dpaste.com/3N85SHR" rel="nofollow">Ansible tutorial?</a></li>
</ul>

<hr>

<ul>
<li>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>
***</li>
</ul>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0304.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonflyBSD 5.6 is out, OpenBSD Vulkan Support, bad utmp implementations in glibc and FreeBSD, OpenSSH protects itself against Side Channel attacks, ZFS vs OpenZFS, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release56" rel="nofollow">DragonflyBSD 5.6 is out</a></h3>

<ul>
<li>Version 5.6.0 released 17 June 2019</li>
<li><p><a href="https://www.dragonflydigest.com/2019/06/19/23091.html" rel="nofollow">Version 5.6.1 released 19 June 2019</a></p></li>
<li><p>Big-ticket items</p></li>
<li><p>Improved VM</p>

<ul>
<li>Informal test results showing the changes from 5.4 to 5.6 are available.</li>
<li>Reduce stalls in the kernel vm_page_alloc() code (vm_page_list_find()).</li>
<li>Improve page allocation algorithm to avoid re-iterating the same queues as the search is widened.</li>
<li>Add a vm_page_hash*() API that allows the kernel to do heuristical lockless lookups of VM pages.</li>
<li>Change vm_hold() and vm_unhold() semantics to not require any spin-locks.</li>
<li>Change vm_page_wakeup() to not require any spin-locks.</li>
<li>Change wiring vm_page&#39;s no longer manipulates the queue the page is on, saving a lot of overhead. Instead, the page will be removed from its queue only if the pageout demon encounters it. This allows pages to enter and leave the buffer cache quickly.</li>
<li>Refactor the handling of fictitious pages.</li>
<li>Remove m-&gt;md.pv_list entirely. VM pages in mappings no longer allocate pv_entry&#39;s, saving an enormous amount of memory when multiple processes utilize large shared memory maps (e.g. postgres database cache).</li>
<li>Refactor vm_object shadowing, disconnecting the backing linkages from the vm_object itself and instead organizing the linkages in a new structure called vm_map_backing which hangs off the vm_map_entry.</li>
<li>pmap operations now iterate vm_map_backing structures (rather than spin-locked page lists based on the vm_page and pv_entry&#39;s), and will test/match operations against the PTE found in the pmap at the requisite location. This doubles VM fault performance on shared pages and reduces the locking overhead for fault and pmap operations.</li>
<li>Simplify the collapse code, removing most of the original code and replacing it with simpler per-vm_map_entry optimizations to limit the shadow depth.</li>
</ul></li>
<li><p>DRM</p>

<ul>
<li>Major updates to the radeon and ttm (amd support code) drivers. We have not quite gotten the AMD support up to the more modern cards or Ryzen APUs yet, however.</li>
<li>Improve UEFI framebuffer support.</li>
<li>A major deadlock has been fixed in the radeon/ttm code.</li>
<li>Refactor the startup delay designed to avoid conflicts between the i915 driver initialization and X startup.</li>
<li>Add DRM_IOCTL_GET_PCIINFO to improve mesa/libdrm support.</li>
<li>Fix excessive wired memory build-ups.</li>
<li>Fix Linux/DragonFly PAGE_MASK confusion in the DRM code.</li>
<li>Fix idr_*() API bugs.</li>
</ul></li>
<li><p>HAMMER2</p>

<ul>
<li>The filesystem sync code has been rewritten to significantly improve performance.</li>
<li>Sequential write performance also improved.</li>
<li>Add simple dependency tracking to prevent directory/file splits during create/rename/remove operations, for better consistency after a crash.</li>
<li>Refactor the snapshot code to reduce flush latency and to ensure a consistent snapshot.</li>
<li>Attempt to pipeline the flush code against the frontend, improving flush vs frontend write concurrency.</li>
<li>Improve umount operation.</li>
<li>Fix an allocator race that could lead to corruption.</li>
<li>Numerous other bugs fixed.</li>
<li>Improve verbosity of CHECK (CRC error) console messages.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&px=OpenBSD-Vulkan-Support" rel="nofollow">OpenBSD Vulkan Support</a></h3>

<blockquote>
<p>Somewhat surprisingly, OpenBSD has added the Vulkan library and ICD loader support as their newest port. <br>
This new graphics/vulkan-loader port provides the generic Vulkan library and ICD support that is the common code for Vulkan implementations on the system. This doesn&#39;t enable any Vulkan hardware drivers or provide something new not available elsewhere, but is rare seeing Vulkan work among the BSDs. There is also in ports the related components like the SPIR-V headers and tools, glsllang, and the Vulkan tools and validation layers. <br>
This is of limited usefulness, at least for the time being considering OpenBSD like the other BSDs lag behind in their DRM kernel driver support that is ported over from the mainline Linux kernel tree but generally years behind the kernel upstream. Particularly with Vulkan, newer kernel releases are needed for some Vulkan features as well as achieving decent performance. The Vulkan drivers of relevance are the open-source Intel ANV Vulkan driver and Radeon RADV drivers, both of which are in Mesa though we haven&#39;t seen any testing results to know how well they would work if at all currently on OpenBSD, but they&#39;re at least in Mesa and obviously open-source. </p>

<ul>
<li>A note: The BSDs are no longer that far behind.</li>
<li>FreeBSD 12.0 uses DRM from Linux 4.16 (April 2018), and the drm-devel port is based on Linux 5.0 (March 2019)</li>
<li>OpenBSD -current as of April 2019 uses DRM from Linux 4.19.34
***</li>
</ul>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://davmac.wordpress.com/2019/05/04/bad-utmp-implementations-in-glibc-and-freebsd/" rel="nofollow">Bad utmp implementations in glibc and freebsd</a></h3>

<blockquote>
<p>I recently released another version – 0.5.0 – of Dinit, the service manager / init system. There were a number of minor improvements, including to the build system (just running “make” or “gmake” should be enough on any of the systems which have a pre-defined configuration, no need to edit mconfig by hand), but the main features of the release were S6-compatible readiness notification, and support for updating the utmp database.<br>
In other words, utmp is a record of who is currently logged in to the system (another file, “wtmp”, records all logins and logouts, as well as, potentially, certain system events such as reboots and time updates). This is a hint at the main motivation for having utmp support in Dinit – I wanted the “who” command to correctly report current logins (and I wanted boot time to be correctly recorded in the wtmp file).<br>
I wondered: If the files consist of fixed-sized records, and are readable by regular users, how is consistency maintained? That is – how can a process ensure that, when it updates the database, it doesn’t conflict with another process also attempting to update the database at the same time? Similarly, how can a process reading an entry from the database be sure that it receives a consistent, full record and not a record which has been partially updated? (after all, POSIX allows that a write(2) call can return without having written all the requested bytes, and I’m not aware of Linux or any of the *BSDs documenting that this cannot happen for regular files). Clearly, some kind of locking is needed; a process that wants to write to or read from the database locks it first, performs its operation, and then unlocks the database. Once again, this happens under the hood, in the implementation of the getutent/pututline functions or their equivalents.<br>
Then I wondered: if a user process is able to lock the utmp file, and this prevents updates, what’s to stop a user process from manually acquiring and then holding such a lock for a long – even practically infinite – duration? This would prevent the database from being updated, and would perhaps even prevent logins/logouts from completing. Unfortunately, the answer is – nothing; and yes, it is possible on different systems to prevent the database from being correctly updated or even to prevent all other users – including root – from logging in to the system.</p>

<ul>
<li>A good find</li>
<li>On FreeBSD, even though write(2) can be asynchronous, once the write syscall returns, the data is in the buffer cache (or ARC), and any future read(2) will see that new data even if it has not yet been written to disk.
***</li>
</ul>
</blockquote>

<h3><a href="https://securityboulevard.com/2019/06/openssh-code-gets-an-update-to-protect-against-side-channel-attacks/" rel="nofollow">OpenSSH gets an update to protect against Side Channel attacks</a></h3>

<blockquote>
<p>Last week, Damien Miller, a Google security researcher, and one of the popular OpenSSH and OpenBSD developers announced an update to the existing OpenSSH code that can help protect against the side-channel attacks that leak sensitive data from computer’s memory. This protection, Miller says, will protect the private keys residing in the RAM against Spectre, Meltdown, Rowhammer, and the latest RAMBleed attack.<br>
SSH private keys can be used by malicious threat actors to connect to remote servers without the need of a password. According to CSO, “The approach used by OpenSSH could be copied by other software projects to protect their own keys and secrets in memory”.<br>
However, if the attacker is successful in extracting the data from a computer or server’s RAM, they will only obtain an encrypted version of an SSH private key, rather than the cleartext version.<br>
In an email to OpenBSD, Miller writes, “this change encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large ‘prekey’ consisting of random data (currently 16KB).”</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" rel="nofollow">ZFS vs OpenZFS</a></h3>

<blockquote>
<p>You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. <br>
From its inception, “ZFS” has referred to the “Zettabyte File System” developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such as‘zfs create mypool/mydataset’ and I welcome you to watch the appropriately-titled webinar “Why we love ZFS &amp; you should too” or try a completely-graphical ZFS experience with FreeNAS.<br>
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of “ZFS” but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as “Oracle ZFS” and “OpenZFS” to distinguish them as development efforts, but the user still types the ‘zfs’ command, which on FreeBSD relies on the ‘zfs.ko’ kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.</p>

<ul>
<li>There was further discussion of how the ZFSOnLinux repo will become the OpenZFS repo in the future once it also contains the bits to build on FreeBSD as well during the June 25th ZFS Leadership Meeting. The videos for all of the meetings are available <a href="https://www.youtube.com/channel/UC0IK6Y4Go2KtRueHDiQcxow" rel="nofollow">here</a>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/cperciva/status/1141852451756105729?s=03" rel="nofollow">How to safely and portably close a file descriptor in a multithreaded process without running into problems with EINTR</a></li>
<li><a href="http://knoxbug.org/2019-06-27" rel="nofollow">KnoxBug Meetup June 27th at 6pm</a></li>
<li><a href="https://www.flying-pie.com/locations/lake-oswego/" rel="nofollow">BSD Pizza Night, June 27th at 7pm, Flying Pie Pizzeria, 3 Monroe Pkwy, Ste S, Lake Oswego, OR</a></li>
<li><a href="https://moopost.blogspot.com/2019/06/difference-between-x-and-x.html" rel="nofollow">Difference between $x and ${x}</a></li>
<li><a href="https://www.nemil.com/on-software-engineering/beware-engineering-media.html" rel="nofollow">Beware of Software Engineering Media Sites</a></li>
<li><a href="https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/" rel="nofollow">How Verizon and a BGP optimizer knocked large parts of the internet offline today</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-May/718899.html" rel="nofollow">DragonflyBSD - MDS mitigation added a while ago</a></li>
<li><a href="https://eurobsdcon.org" rel="nofollow">Reminder: Register for EuroBSDcon 2019 in Lillehammer, Norway</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Dave - <a href="http://dpaste.com/38233JC" rel="nofollow">CheriBSD</a></li>
<li>Neb - <a href="http://dpaste.com/0B8XKXT#wrap" rel="nofollow">Hello from Norway</a></li>
<li>Lars - <a href="http://dpaste.com/3N85SHR" rel="nofollow">Ansible tutorial?</a></li>
</ul>

<hr>

<ul>
<li>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>
***</li>
</ul>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0304.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </itunes:summary>
</item>
  </channel>
</rss>
