<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" encoding="UTF-8" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:atom="http://www.w3.org/2005/Atom/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:fireside="http://fireside.fm/modules/rss/fireside">
  <channel>
    <fireside:hostname>web01.fireside.fm</fireside:hostname>
    <fireside:genDate>Fri, 29 May 2026 21:25:14 -0500</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>BSD Now - Episodes Tagged with “Hammer2”</title>
    <link>https://www.bsdnow.tv/tags/hammer2</link>
    <pubDate>Thu, 07 Jan 2021 03:45:00 -0500</pubDate>
    <description>Created by three guys who love BSD, we cover the latest news and have an extensive series of tutorials, as well as interviews with various people from all areas of the BSD community. It also serves as a platform for support and questions. We love and advocate FreeBSD, OpenBSD, NetBSD, DragonFlyBSD and TrueOS. Our show aims to be helpful and informative for new users that want to learn about them, but still be entertaining for the people who are already pros. The show airs on Wednesdays at 2:00PM (US Eastern time) and the edited version is usually up the following day.</description>
    <language>en-us</language>
    <itunes:type>episodic</itunes:type>
    <itunes:subtitle>A weekly podcast and the place to B...SD</itunes:subtitle>
    <itunes:author>JT Pennington</itunes:author>
    <itunes:summary>Created by three guys who love BSD, we cover the latest news and have an extensive series of tutorials, as well as interviews with various people from all areas of the BSD community. It also serves as a platform for support and questions. We love and advocate FreeBSD, OpenBSD, NetBSD, DragonFlyBSD and TrueOS. Our show aims to be helpful and informative for new users that want to learn about them, but still be entertaining for the people who are already pros. The show airs on Wednesdays at 2:00PM (US Eastern time) and the edited version is usually up the following day.</itunes:summary>
    <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
    <itunes:explicit>no</itunes:explicit>
    <itunes:keywords>berkeley,freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview</itunes:keywords>
    <itunes:owner>
      <itunes:name>JT Pennington</itunes:name>
      <itunes:email>feedback@bsdnow.tv</itunes:email>
    </itunes:owner>
<itunes:category text="News">
  <itunes:category text="Tech News"/>
</itunes:category>
<itunes:category text="Education">
  <itunes:category text="How To"/>
</itunes:category>
<item>
  <title>384: In memoriam</title>
  <link>https://www.bsdnow.tv/384</link>
  <guid isPermaLink="false">d48d2da1-bf8e-4f78-bfa3-48eaf73fe14a</guid>
  <pubDate>Thu, 07 Jan 2021 03:45:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d48d2da1-bf8e-4f78-bfa3-48eaf73fe14a.mp3" length="32114304" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Allen K. Briggs Memorial Scholarship, Toward an automated tracking of OpenBSD ports contributions, Trying OpenZFS 2 on FreeBSD 12.2-RELEASE, OpenBSD on TECLAST F7 Plus, Multi-volume support in HAMMER2, and more. </itunes:subtitle>
  <itunes:duration>35:00</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;Allen K. Briggs Memorial Scholarship, Toward an automated tracking of OpenBSD ports contributions, Trying OpenZFS 2 on FreeBSD 12.2-RELEASE, OpenBSD on TECLAST F7 Plus, Multi-volume support in HAMMER2, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

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

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/allen_k_briggs_memorial_scholarship" target="_blank" rel="nofollow noopener"&gt;Allen K. Briggs Memorial Scholarship&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Allen Briggs was one of the earliest members of the NetBSD community, pursuing his interest in macBSD, and moving to become a NetBSD developer when the two projects merged. Allen was known for his quiet and relaxed manner, and always brought a keen wisdom with him; allied with his acute technical expertise, he was one of the most valued members of the NetBSD community.&lt;br&gt;
The Allen K. Briggs Memorial Scholarship is an endowment to provide scholarships in perpetuity for summer programs at the North Carolina School of Science &amp;amp; Math, which Allen considered to be a place that fundamentally shaped him as a person. We would love to invite Allen's friends and colleagues from the BSD community to donate to this cause so that we can provide more scholarships to students with financial need each year. We are approximately halfway to our goal of $50K with aspirations to exceed that target and fund additional scholarships.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-11-15-openbsd-ports-ci.html" target="_blank" rel="nofollow noopener"&gt;Toward an automated tracking of OpenBSD ports contributions&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A first step for the CI service would be to create a database of diffs sent to ports. This would allow people to track what has been sent and not yet committed and what the state of the contribution is (build/don’t build, apply/don’t apply).&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

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

&lt;h3&gt;&lt;a href="https://rubenerd.com/trying-openzfs-on-freebsd-12-release/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;Trying OpenZFS 2 on FreeBSD 12.2-RELEASE&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenZFS 2 is a huge achievement, and makes me bullish about the long term prospects for the world’s most trustworthy and nicest to use storage system. You can even use try it today on FreeBSD 12.2-RELEASE, though I recommend tracking -CURRENT for these sorts of features.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20201215/openbsd-on-teclast-f7-plus/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;OpenBSD on TECLAST F7 Plus&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I got myself a TECLAST F7 Plus laptop. It comes preinstalled with Windows 10 but I planned to use it as my daily driver. So I installed OpenBSD 6.8 on it.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2020/12/28/25287.html" target="_blank" rel="nofollow noopener"&gt;Multi-volume support in HAMMER2&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2020-December/770072.html" target="_blank" rel="nofollow noopener"&gt;commit&lt;/a&gt;
&amp;gt; This commit adds initial multi-volumes support for HAMMER2. Maximum supported volumes is 64. The feature and implementation is similar to multi-volumes support in HAMMER1.
***&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base/head/README?view=markup&amp;amp;pathrev=368820" target="_blank" rel="nofollow noopener"&gt;FreeBSD Last SVN Commit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cgit.freebsd.org/src/commit/?id=5ef5f51d2bef80b0ede9b10ad5b0e9440b60518c" target="_blank" rel="nofollow noopener"&gt;FreeBSD First git Commit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. &lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/jay%20-%20feedback%20for%20ian" target="_blank" rel="nofollow noopener"&gt;jay - feedback for ian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/Iebluefire%20-%20concerns%20about%20freebsd" target="_blank" rel="nofollow noopener"&gt;Iebluefire - concerns about freebsd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/mike%20-%20zfs%20cluster%20aware" target="_blank" rel="nofollow noopener"&gt;mike - zfs cluster aware&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, Allen Briggs, scholarship, memorial, automated, tracking, ports, contributions, openzfs 2, teclast, f7 plus, multi-volume, hammer2, filesystem</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Allen K. Briggs Memorial Scholarship, Toward an automated tracking of OpenBSD ports contributions, Trying OpenZFS 2 on FreeBSD 12.2-RELEASE, OpenBSD on TECLAST F7 Plus, Multi-volume support in HAMMER2, 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/bsdnow" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/allen_k_briggs_memorial_scholarship" target="_blank" rel="nofollow noopener">Allen K. Briggs Memorial Scholarship</a></h3>

<blockquote>
<p>Allen Briggs was one of the earliest members of the NetBSD community, pursuing his interest in macBSD, and moving to become a NetBSD developer when the two projects merged. Allen was known for his quiet and relaxed manner, and always brought a keen wisdom with him; allied with his acute technical expertise, he was one of the most valued members of the NetBSD community.<br>
The Allen K. Briggs Memorial Scholarship is an endowment to provide scholarships in perpetuity for summer programs at the North Carolina School of Science &amp; Math, which Allen considered to be a place that fundamentally shaped him as a person. We would love to invite Allen's friends and colleagues from the BSD community to donate to this cause so that we can provide more scholarships to students with financial need each year. We are approximately halfway to our goal of $50K with aspirations to exceed that target and fund additional scholarships.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-11-15-openbsd-ports-ci.html" target="_blank" rel="nofollow noopener">Toward an automated tracking of OpenBSD ports contributions</a></h3>

<blockquote>
<p>A first step for the CI service would be to create a database of diffs sent to ports. This would allow people to track what has been sent and not yet committed and what the state of the contribution is (build/don’t build, apply/don’t apply).</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/trying-openzfs-on-freebsd-12-release/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Trying OpenZFS 2 on FreeBSD 12.2-RELEASE</a></h3>

<blockquote>
<p>OpenZFS 2 is a huge achievement, and makes me bullish about the long term prospects for the world’s most trustworthy and nicest to use storage system. You can even use try it today on FreeBSD 12.2-RELEASE, though I recommend tracking -CURRENT for these sorts of features.</p>

<hr>
</blockquote>

<h3><a href="https://www.tumfatig.net/20201215/openbsd-on-teclast-f7-plus/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">OpenBSD on TECLAST F7 Plus</a></h3>

<blockquote>
<p>I got myself a TECLAST F7 Plus laptop. It comes preinstalled with Windows 10 but I planned to use it as my daily driver. So I installed OpenBSD 6.8 on it.</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2020/12/28/25287.html" target="_blank" rel="nofollow noopener">Multi-volume support in HAMMER2</a></h3>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-December/770072.html" target="_blank" rel="nofollow noopener">commit</a>
&gt; This commit adds initial multi-volumes support for HAMMER2. Maximum supported volumes is 64. The feature and implementation is similar to multi-volumes support in HAMMER1.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://svnweb.freebsd.org/base/head/README?view=markup&amp;pathrev=368820" target="_blank" rel="nofollow noopener">FreeBSD Last SVN Commit</a></li>
<li><a href="https://cgit.freebsd.org/src/commit/?id=5ef5f51d2bef80b0ede9b10ad5b0e9440b60518c" target="_blank" rel="nofollow noopener">FreeBSD First git Commit</a></li>
<li><a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. </a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<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><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/jay%20-%20feedback%20for%20ian" target="_blank" rel="nofollow noopener">jay - feedback for ian</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/Iebluefire%20-%20concerns%20about%20freebsd" target="_blank" rel="nofollow noopener">Iebluefire - concerns about freebsd</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/mike%20-%20zfs%20cluster%20aware" target="_blank" rel="nofollow noopener">mike - zfs cluster aware</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Allen K. Briggs Memorial Scholarship, Toward an automated tracking of OpenBSD ports contributions, Trying OpenZFS 2 on FreeBSD 12.2-RELEASE, OpenBSD on TECLAST F7 Plus, Multi-volume support in HAMMER2, 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/bsdnow" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/allen_k_briggs_memorial_scholarship" target="_blank" rel="nofollow noopener">Allen K. Briggs Memorial Scholarship</a></h3>

<blockquote>
<p>Allen Briggs was one of the earliest members of the NetBSD community, pursuing his interest in macBSD, and moving to become a NetBSD developer when the two projects merged. Allen was known for his quiet and relaxed manner, and always brought a keen wisdom with him; allied with his acute technical expertise, he was one of the most valued members of the NetBSD community.<br>
The Allen K. Briggs Memorial Scholarship is an endowment to provide scholarships in perpetuity for summer programs at the North Carolina School of Science &amp; Math, which Allen considered to be a place that fundamentally shaped him as a person. We would love to invite Allen's friends and colleagues from the BSD community to donate to this cause so that we can provide more scholarships to students with financial need each year. We are approximately halfway to our goal of $50K with aspirations to exceed that target and fund additional scholarships.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-11-15-openbsd-ports-ci.html" target="_blank" rel="nofollow noopener">Toward an automated tracking of OpenBSD ports contributions</a></h3>

<blockquote>
<p>A first step for the CI service would be to create a database of diffs sent to ports. This would allow people to track what has been sent and not yet committed and what the state of the contribution is (build/don’t build, apply/don’t apply).</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/trying-openzfs-on-freebsd-12-release/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Trying OpenZFS 2 on FreeBSD 12.2-RELEASE</a></h3>

<blockquote>
<p>OpenZFS 2 is a huge achievement, and makes me bullish about the long term prospects for the world’s most trustworthy and nicest to use storage system. You can even use try it today on FreeBSD 12.2-RELEASE, though I recommend tracking -CURRENT for these sorts of features.</p>

<hr>
</blockquote>

<h3><a href="https://www.tumfatig.net/20201215/openbsd-on-teclast-f7-plus/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">OpenBSD on TECLAST F7 Plus</a></h3>

<blockquote>
<p>I got myself a TECLAST F7 Plus laptop. It comes preinstalled with Windows 10 but I planned to use it as my daily driver. So I installed OpenBSD 6.8 on it.</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2020/12/28/25287.html" target="_blank" rel="nofollow noopener">Multi-volume support in HAMMER2</a></h3>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-December/770072.html" target="_blank" rel="nofollow noopener">commit</a>
&gt; This commit adds initial multi-volumes support for HAMMER2. Maximum supported volumes is 64. The feature and implementation is similar to multi-volumes support in HAMMER1.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://svnweb.freebsd.org/base/head/README?view=markup&amp;pathrev=368820" target="_blank" rel="nofollow noopener">FreeBSD Last SVN Commit</a></li>
<li><a href="https://cgit.freebsd.org/src/commit/?id=5ef5f51d2bef80b0ede9b10ad5b0e9440b60518c" target="_blank" rel="nofollow noopener">FreeBSD First git Commit</a></li>
<li><a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. </a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<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><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/jay%20-%20feedback%20for%20ian" target="_blank" rel="nofollow noopener">jay - feedback for ian</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/Iebluefire%20-%20concerns%20about%20freebsd" target="_blank" rel="nofollow noopener">Iebluefire - concerns about freebsd</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/mike%20-%20zfs%20cluster%20aware" target="_blank" rel="nofollow noopener">mike - zfs cluster aware</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>356: Dig in Deeper</title>
  <link>https://www.bsdnow.tv/356</link>
  <guid isPermaLink="false">666c3655-32bf-4341-a986-ab085baa9c10</guid>
  <pubDate>Thu, 25 Jun 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/666c3655-32bf-4341-a986-ab085baa9c10.mp3" length="31946816" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>TrueNAS is Multi-OS, Encrypted ZFS on NetBSD, FreeBSD’s new Code of Conduct, Gaming on OpenBSD, dig a little deeper, Hammer2 and periodic snapshots, and more.</itunes:subtitle>
  <itunes:duration>32:08</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;TrueNAS is Multi-OS, Encrypted ZFS on NetBSD, FreeBSD’s new Code of Conduct, Gaming on OpenBSD, dig a little deeper, Hammer2 and periodic snapshots, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

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

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truenas-multi-os/" target="_blank" rel="nofollow noopener"&gt;TrueNAS is Multi-OS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There was a time in history where all that mattered was an Operating System (OS) and the hardware it ran on — the “pre-software era”, if you will. Your hardware dictated the OS you used.&lt;br&gt;
Once software applications became prominent, your hardware’s OS determined the applications you could run. Application vendors were forced to juggle the burden of “portability” between OS platforms, choosing carefully the operating systems they’d develop their software to. Then, there were the great OS Wars of the 1990s, replete with the rampant competition, licensing battles, and nasty lawsuits, which more or less gave birth to the “open source OS” era.&lt;br&gt;
The advent of the hypervisor simultaneously gave way to the “virtual era” which set us on a path of agnosticism toward the OS. Instead of choosing from the applications available for your chosen OS, you could simply install another OS on the same hardware for your chosen application. The OS became nothing but a necessary cog in the stack.&lt;br&gt;
TrueNAS open storage enables this “post-OS era” with support for storage clients of all UNIX flavors, Linux, FreeBSD, Windows, MacOS, VMware, Citrix, and many others. Containerization has carried that mentality even further. An operating system, like the hardware that runs it, is now just thought of as part of the “infrastructure”.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/encrypted-zfs-on-netbsd-9-for-a-freebsd-guy/" target="_blank" rel="nofollow noopener"&gt;Encrypted ZFS on NetBSD 9.0, for a FreeBSD guy&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I had one of my other HP Microservers brought back from the office last week to help with this working-from-home world we’re in right now. I was going to wipe an old version of Debian Wheezy/Xen and install FreeBSD to mirror my other machines before thinking: why not NetBSD?&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

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

&lt;h3&gt;&lt;a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD's New Code of Conduct&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/BSDNow/bsdnow.tv/master/episodes/356/FBSD-CoC-Email" target="_blank" rel="nofollow noopener"&gt;FreeBSD Announcement Email&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-06-05-openbsd-gaming.html" target="_blank" rel="nofollow noopener"&gt;Gaming on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;While no one would expect this, there are huge efforts from a small team to bring more games into OpenBSD. In fact, now some commercial games works natively now, thanks to Mono or Java. There are no wine or linux emulation layer in OpenBSD.&lt;br&gt;
Here is a small list of most well known games that run on OpenBSD:&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://vishaltelangre.com/dig-a-little-deeper/" target="_blank" rel="nofollow noopener"&gt;'dig' a little deeper&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I knew the existence of the dig command but didn't exactly know when and how to use it. Then, just recently I encountered an issue that allowed me to learn and make use of it.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2020/06/15/24635.html" target="_blank" rel="nofollow noopener"&gt;HAMMER2 and periodic snapshots&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;The first version of HAMMER took automatic snapshots, set within the config for each filesystem.  HAMMER2 now also takes automatic snapshots, via periodic(8) like most every repeating task on your DragonFly system.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769247.html" target="_blank" rel="nofollow noopener"&gt;git: Implement periodic hammer2 snapshots&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Cy%20-%20OPenSSL%20relicensing.md" target="_blank" rel="nofollow noopener"&gt;Cy - OpenSSL relicensing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Christian%20-%20lagg%20vlans%20and%20iocage" target="_blank" rel="nofollow noopener"&gt;Christian - lagg vlans and iocage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Brad%20-%20SMR" target="_blank" rel="nofollow noopener"&gt;Brad - SMR&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, truenas, multi os, os, operating system, code of conduct, code, conduct, encryption, encrypted, zfs, gaming, dig, hammer2, snapshot, snapshots, periodic, periodic snapshots</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>TrueNAS is Multi-OS, Encrypted ZFS on NetBSD, FreeBSD’s new Code of Conduct, Gaming on OpenBSD, dig a little deeper, Hammer2 and periodic snapshots, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ixsystems.com/blog/truenas-multi-os/" target="_blank" rel="nofollow noopener">TrueNAS is Multi-OS</a></h3>

<blockquote>
<p>There was a time in history where all that mattered was an Operating System (OS) and the hardware it ran on — the “pre-software era”, if you will. Your hardware dictated the OS you used.<br>
Once software applications became prominent, your hardware’s OS determined the applications you could run. Application vendors were forced to juggle the burden of “portability” between OS platforms, choosing carefully the operating systems they’d develop their software to. Then, there were the great OS Wars of the 1990s, replete with the rampant competition, licensing battles, and nasty lawsuits, which more or less gave birth to the “open source OS” era.<br>
The advent of the hypervisor simultaneously gave way to the “virtual era” which set us on a path of agnosticism toward the OS. Instead of choosing from the applications available for your chosen OS, you could simply install another OS on the same hardware for your chosen application. The OS became nothing but a necessary cog in the stack.<br>
TrueNAS open storage enables this “post-OS era” with support for storage clients of all UNIX flavors, Linux, FreeBSD, Windows, MacOS, VMware, Citrix, and many others. Containerization has carried that mentality even further. An operating system, like the hardware that runs it, is now just thought of as part of the “infrastructure”.</p>

<hr>

<h3><a href="https://rubenerd.com/encrypted-zfs-on-netbsd-9-for-a-freebsd-guy/" target="_blank" rel="nofollow noopener">Encrypted ZFS on NetBSD 9.0, for a FreeBSD guy</a></h3>

<p>I had one of my other HP Microservers brought back from the office last week to help with this working-from-home world we’re in right now. I was going to wipe an old version of Debian Wheezy/Xen and install FreeBSD to mirror my other machines before thinking: why not NetBSD?</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener">FreeBSD's New Code of Conduct</a></h3>

<ul>
<li><a href="https://raw.githubusercontent.com/BSDNow/bsdnow.tv/master/episodes/356/FBSD-CoC-Email" target="_blank" rel="nofollow noopener">FreeBSD Announcement Email</a></li>
</ul>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-06-05-openbsd-gaming.html" target="_blank" rel="nofollow noopener">Gaming on OpenBSD</a></h3>

<blockquote>
<p>While no one would expect this, there are huge efforts from a small team to bring more games into OpenBSD. In fact, now some commercial games works natively now, thanks to Mono or Java. There are no wine or linux emulation layer in OpenBSD.<br>
Here is a small list of most well known games that run on OpenBSD:</p>

<hr>

<h3><a href="https://vishaltelangre.com/dig-a-little-deeper/" target="_blank" rel="nofollow noopener">'dig' a little deeper</a></h3>

<p>I knew the existence of the dig command but didn't exactly know when and how to use it. Then, just recently I encountered an issue that allowed me to learn and make use of it.</p>

<hr>

<h3><a href="https://www.dragonflydigest.com/2020/06/15/24635.html" target="_blank" rel="nofollow noopener">HAMMER2 and periodic snapshots</a></h3>

<p>The first version of HAMMER took automatic snapshots, set within the config for each filesystem.  HAMMER2 now also takes automatic snapshots, via periodic(8) like most every repeating task on your DragonFly system.</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769247.html" target="_blank" rel="nofollow noopener">git: Implement periodic hammer2 snapshots</a>
***</li>
</ul>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<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><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Cy%20-%20OPenSSL%20relicensing.md" target="_blank" rel="nofollow noopener">Cy - OpenSSL relicensing</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Christian%20-%20lagg%20vlans%20and%20iocage" target="_blank" rel="nofollow noopener">Christian - lagg vlans and iocage</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Brad%20-%20SMR" target="_blank" rel="nofollow noopener">Brad - SMR</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>TrueNAS is Multi-OS, Encrypted ZFS on NetBSD, FreeBSD’s new Code of Conduct, Gaming on OpenBSD, dig a little deeper, Hammer2 and periodic snapshots, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ixsystems.com/blog/truenas-multi-os/" target="_blank" rel="nofollow noopener">TrueNAS is Multi-OS</a></h3>

<blockquote>
<p>There was a time in history where all that mattered was an Operating System (OS) and the hardware it ran on — the “pre-software era”, if you will. Your hardware dictated the OS you used.<br>
Once software applications became prominent, your hardware’s OS determined the applications you could run. Application vendors were forced to juggle the burden of “portability” between OS platforms, choosing carefully the operating systems they’d develop their software to. Then, there were the great OS Wars of the 1990s, replete with the rampant competition, licensing battles, and nasty lawsuits, which more or less gave birth to the “open source OS” era.<br>
The advent of the hypervisor simultaneously gave way to the “virtual era” which set us on a path of agnosticism toward the OS. Instead of choosing from the applications available for your chosen OS, you could simply install another OS on the same hardware for your chosen application. The OS became nothing but a necessary cog in the stack.<br>
TrueNAS open storage enables this “post-OS era” with support for storage clients of all UNIX flavors, Linux, FreeBSD, Windows, MacOS, VMware, Citrix, and many others. Containerization has carried that mentality even further. An operating system, like the hardware that runs it, is now just thought of as part of the “infrastructure”.</p>

<hr>

<h3><a href="https://rubenerd.com/encrypted-zfs-on-netbsd-9-for-a-freebsd-guy/" target="_blank" rel="nofollow noopener">Encrypted ZFS on NetBSD 9.0, for a FreeBSD guy</a></h3>

<p>I had one of my other HP Microservers brought back from the office last week to help with this working-from-home world we’re in right now. I was going to wipe an old version of Debian Wheezy/Xen and install FreeBSD to mirror my other machines before thinking: why not NetBSD?</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener">FreeBSD's New Code of Conduct</a></h3>

<ul>
<li><a href="https://raw.githubusercontent.com/BSDNow/bsdnow.tv/master/episodes/356/FBSD-CoC-Email" target="_blank" rel="nofollow noopener">FreeBSD Announcement Email</a></li>
</ul>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-06-05-openbsd-gaming.html" target="_blank" rel="nofollow noopener">Gaming on OpenBSD</a></h3>

<blockquote>
<p>While no one would expect this, there are huge efforts from a small team to bring more games into OpenBSD. In fact, now some commercial games works natively now, thanks to Mono or Java. There are no wine or linux emulation layer in OpenBSD.<br>
Here is a small list of most well known games that run on OpenBSD:</p>

<hr>

<h3><a href="https://vishaltelangre.com/dig-a-little-deeper/" target="_blank" rel="nofollow noopener">'dig' a little deeper</a></h3>

<p>I knew the existence of the dig command but didn't exactly know when and how to use it. Then, just recently I encountered an issue that allowed me to learn and make use of it.</p>

<hr>

<h3><a href="https://www.dragonflydigest.com/2020/06/15/24635.html" target="_blank" rel="nofollow noopener">HAMMER2 and periodic snapshots</a></h3>

<p>The first version of HAMMER took automatic snapshots, set within the config for each filesystem.  HAMMER2 now also takes automatic snapshots, via periodic(8) like most every repeating task on your DragonFly system.</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769247.html" target="_blank" rel="nofollow noopener">git: Implement periodic hammer2 snapshots</a>
***</li>
</ul>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<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><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Cy%20-%20OPenSSL%20relicensing.md" target="_blank" rel="nofollow noopener">Cy - OpenSSL relicensing</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Christian%20-%20lagg%20vlans%20and%20iocage" target="_blank" rel="nofollow noopener">Christian - lagg vlans and iocage</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Brad%20-%20SMR" target="_blank" rel="nofollow noopener">Brad - SMR</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>323: OSI Burrito Guy</title>
  <link>https://www.bsdnow.tv/323</link>
  <guid isPermaLink="false">cf54c1fe-70ba-49a3-9b13-1ceb64ab896a</guid>
  <pubDate>Thu, 07 Nov 2019 07:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/cf54c1fe-70ba-49a3-9b13-1ceb64ab896a.mp3" length="35547347" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The earliest Unix code, how to replace fail2ban with blacklistd, OpenBSD crossed 400k commits, how to install Bolt CMS on FreeBSD, optimized hammer2, appeasing the OSI 7-layer burrito guys, and more.</itunes:subtitle>
  <itunes:duration>49:22</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;The earliest Unix code, how to replace fail2ban with blacklistd, OpenBSD crossed 400k commits, how to install Bolt CMS on FreeBSD, optimized hammer2, appeasing the OSI 7-layer burrito guys, and more.&lt;/p&gt;

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

&lt;h3&gt;&lt;a href="https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/" target="_blank" rel="nofollow noopener"&gt;The Earliest Unix Code: An Anniversary Source Code Release&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;What is it that runs the servers that hold our online world, be it the web or the cloud? What enables the mobile apps that are at the center of increasingly on-demand lives in the developed world and of mobile banking and messaging in the developing world? The answer is the operating system Unix and its many descendants: Linux, Android, BSD Unix, MacOS, iOS—the list goes on and on. Want to glimpse the Unix in your Mac? Open a Terminal window and enter “man roff” to view the Unix manual entry for an early text formatting program that lives within your operating system.&lt;/p&gt;

&lt;p&gt;2019 marks the 50th anniversary of the start of Unix. In the summer of 1969, that same summer that saw humankind’s first steps on the surface of the Moon, computer scientists at the Bell Telephone Laboratories—most centrally Ken Thompson and Dennis Ritchie—began the construction of a new operating system, using a then-aging DEC PDP-7 computer at the labs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cbc.ca/radio/thecurrent/the-current-for-oct-29-2019-1.5339212/this-man-sent-the-first-online-message-50-years-ago-he-s-since-seen-the-web-s-dark-side-emerge-1.5339244" target="_blank" rel="nofollow noopener"&gt;This man sent the first online message 50 years ago&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;As many of you have heard in the past, the first online message ever sent between two computers was "lo", just over 50 years ago, on Oct. 29, 1969. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It was supposed to say "log," but the computer sending the message — based at UCLA — crashed before the letter "g" was typed. A computer at Stanford 560 kilometres away was supposed to fill in the remaining characters "in," as in "log in."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The CBC Radio show, “The Current” has a half-hour interview with the man who sent that message, Leonard Kleinrock, distinguished professor of computer science at UCLA&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;"The idea of the network was you could sit at one computer, log on through the network to a remote computer and use its services there,"&lt;/p&gt;

&lt;p&gt;50 years later, the internet has become so ubiquitous that it has almost been rendered invisible. There's hardly an aspect in our daily lives that hasn't been touched and transformed by it.&lt;/p&gt;

&lt;p&gt;Q: Take us back to that day 50 years ago. Did you have the sense that this was going to be something you'd be talking about a half a century later?&lt;/p&gt;

&lt;p&gt;A: Well, yes and no. Four months before that message was sent, there was a press release that came out of UCLA in which it quotes me as describing what my vision for this network would become. Basically what it said is that this network would be always on, always available. Anybody with any device could get on at anytime from any location, and it would be invisible.&lt;/p&gt;

&lt;p&gt;Well, what I missed ... was that this is going to become a social network. People talking to people. Not computers talking to computers, but [the] human element.&lt;/p&gt;

&lt;p&gt;Q: Can you briefly explain what you were working on in that lab? Why were you trying to get computers to actually talk to one another?&lt;/p&gt;

&lt;p&gt;A: As an MIT graduate student, years before, I recognized I was surrounded by computers and I realized there was no effective [or efficient] way for them to communicate. I did my dissertation, my research, on establishing a mathematical theory of how these networks would work. But there was no such network existing. AT&amp;amp;T said it won't work and, even if it does, we want nothing to do with it.&lt;/p&gt;

&lt;p&gt;So I had to wait around for years until the Advanced Research Projects Agency within the Department of Defence decided they needed a network to connect together the computer scientists they were supervising and supporting.&lt;/p&gt;

&lt;p&gt;Q: For all the promise of the internet, it has also developed some dark sides that I'm guessing pioneers like yourselves never anticipated.&lt;/p&gt;

&lt;p&gt;A: We did not. I knew everybody on the internet at that time, and they were all well-behaved and they all believed in an open, shared free network. So we did not put in any security controls.&lt;/p&gt;

&lt;p&gt;When the first spam email occurred, we began to see the dark side emerge as this network reached nefarious people sitting in basements with a high-speed connection, reaching out to millions of people instantaneously, at no cost in time or money, anonymously until all sorts of unpleasant events occurred, which we called the dark side.&lt;/p&gt;

&lt;p&gt;But in those early days, I considered the network to be going through its teenage years. Hacking to spam, annoying kinds of effects. I thought that one day this network would mature and grow up. Well, in fact, it took a turn for the worse when nation states, organized crime and extremists came in and began to abuse the network in severe ways.&lt;/p&gt;

&lt;p&gt;Q: Is there any part of you that regrets giving birth to this?&lt;/p&gt;

&lt;p&gt;A: Absolutely not. The greater good is much more important.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener"&gt;How to use blacklistd(8) with NPF as a fail2ban replacement&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.&lt;/p&gt;

&lt;p&gt;The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf&lt;/p&gt;

&lt;p&gt;Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use.&lt;/p&gt;

&lt;p&gt;Unfortunately (dont' ask me why ??) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-blacklistd.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD’s handbook chapter on blacklistd&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=157059352620659&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD crossed 400,000 commits&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometime in the last week OpenBSD crossed 400,000 commits (*) upon all our repositories since starting at 1995/10/18 08:37:01 Canada/Mountain. That's a lot of commits by a lot of amazing people.&lt;/p&gt;

&lt;p&gt;(*) by one measure.  Since the repository is so large and old, there are a variety of quirks including ChangeLog missing entries and branches not convertible to other repo forms, so measuring is hard.  If you think you've got a great way of measuring, don't be so sure of yourself -- you may have overcounted or undercounted.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Subject to the notes Theo made about under and over counting, FreeBSD should hit 1 million commits (base + ports + docs) some time in 2020&lt;/li&gt;
&lt;li&gt;NetBSD + pkgsrc are approaching 600,000, but of course pkgsrc covers other operating systems too&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.howtoforge.com/how-to-install-bolt-cms-nginx-ssl-on-freebsd-12/" target="_blank" rel="nofollow noopener"&gt;How to Install Bolt CMS with Nginx and Let's Encrypt on FreeBSD 12&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Bolt is a sophisticated, lightweight and simple CMS built with PHP. It is released under the open-source MIT-license and source code is hosted as a public repository on Github. A bolt is a tool for Content Management, which strives to be as simple and straightforward as possible. It is quick to set up, easy to configure, uses elegant templates. Bolt is created using modern open-source libraries and is best suited to build sites in HTML5 with modern markup. In this tutorial, we will go through the Bolt CMS installation on FreeBSD 12 system by using Nginx as a web server, MySQL as a database server, and optionally you can secure the transport layer by using acme.sh client and Let's Encrypt certificate authority to add SSL support.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Requirements&lt;/li&gt;
&lt;li&gt;The system requirements for Bolt are modest, and it should run on any fairly modern web server:

&lt;ul&gt;
&lt;li&gt;PHP version 5.5.9 or higher with the following common PHP extensions: pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip.&lt;/li&gt;
&lt;li&gt;Access to SQLite (which comes bundled with PHP), or MySQL or PostgreSQL.&lt;/li&gt;
&lt;li&gt;Apache with mod_rewrite enabled (.htaccess files) or Nginx (virtual host configuration covered below).&lt;/li&gt;
&lt;li&gt;A minimum of 32MB of memory allocated to PHP.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-September/719632.html" target="_blank" rel="nofollow noopener"&gt;hammer2 - Optimize hammer2 support threads and dispatch&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Refactor the XOP groups in order to be able to queue strategy calls, whenever possible, to the same CPU as the issuer.  This optimizes several cases and reduces unnecessary IPI traffic between cores.  The next best thing to do would be to not queue certain XOPs to an H2 support thread at all, but I would like to keep the threads intact for later clustering work.&lt;br&gt;&lt;br&gt;
The best scaling case for this is when one has a large number of user threads doing I/O.  One instance of a single-threaded program on an otherwise idle machine might see a slightly reduction in performance but at the same time we completely avoid unnecessarily spamming all cores in the system on the behalf of a single program, so overhead is also significantly lower.&lt;/p&gt;

&lt;p&gt;This will tend to increase the number of H2 support threads since we need a certain degree of multiplication for domain separation.&lt;/p&gt;

&lt;p&gt;This should significantly increase I/O performance for multi-threaded workloads.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://boston.conman.org/2019/10/17.1" target="_blank" rel="nofollow noopener"&gt;You know, we might as well just run every network service over HTTPS/2 and build another six layers on top of that to appease the OSI 7-layer burrito guys&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I've seen the writing on the wall, and while for now you can configure Firefox not to use DoH, I'm not confident enough to think it will remain that way. To that end, I've finally set up my own DoH server for use at Chez Boca. It only involved setting up my own CA to generate the appropriate certificates, install my CA certificate into Firefox, configure Apache to run over HTTP/2 (THANK YOU SO VERY XXXXX­XX MUCH GOOGLE FOR SHOVING THIS HTTP/2 XXXXX­XXX DOWN OUR THROATS!—no, I'm not bitter) and write a 150 line script that just queries my own local DNS, because, you know, it's more XXXXX­XX secure or some XXXXX­XXX reason like that.&lt;/p&gt;

&lt;p&gt;Sigh.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.princeton.edu/%7Ehos/Mahoney/unixhistory" target="_blank" rel="nofollow noopener"&gt;An Oral History of Unix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://people.freebsd.org/%7Egallatin/talks/euro2019.pdf" target="_blank" rel="nofollow noopener"&gt;NUMA Siloing in the FreeBSD Network Stack [pdf]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLskKNopggjc6NssLc8GEGSiFYJLYdlTQx" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2019 videos available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/eksffa/status/1188638425567682560" target="_blank" rel="nofollow noopener"&gt;Barbie knows best&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/bob_beck/status/1188226661684301824" target="_blank" rel="nofollow noopener"&gt;For the #OpenBSD #e2k19 attendees.  I did a pre visit today.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/pasha_sh/status/1187877745499561985" target="_blank" rel="nofollow noopener"&gt;Drawer Find&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/papers/asiabsdcon2019-rop-slides.pdf" target="_blank" rel="nofollow noopener"&gt;Slides - Removing ROP Gadgets from OpenBSD - AsiaBSDCon 2019&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/1M5MVCX#wrap" target="_blank" rel="nofollow noopener"&gt;Open source doesn't mean secure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/2RFNR94" target="_blank" rel="nofollow noopener"&gt;Allan is Correct.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Michael - &lt;a href="http://dpaste.com/28YW3BB#wrap" target="_blank" rel="nofollow noopener"&gt;FreeNAS inside a Jail&lt;/a&gt;&lt;/p&gt;

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

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0323.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Unix, code, blacklistd, fail2ban, npf, bolt, cms, nginx, lets encrypt, hammer2, OSI, 7 layer, https2 </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The earliest Unix code, how to replace fail2ban with blacklistd, OpenBSD crossed 400k commits, how to install Bolt CMS on FreeBSD, optimized hammer2, appeasing the OSI 7-layer burrito guys, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/" target="_blank" rel="nofollow noopener">The Earliest Unix Code: An Anniversary Source Code Release</a></h3>

<blockquote>
<p>What is it that runs the servers that hold our online world, be it the web or the cloud? What enables the mobile apps that are at the center of increasingly on-demand lives in the developed world and of mobile banking and messaging in the developing world? The answer is the operating system Unix and its many descendants: Linux, Android, BSD Unix, MacOS, iOS—the list goes on and on. Want to glimpse the Unix in your Mac? Open a Terminal window and enter “man roff” to view the Unix manual entry for an early text formatting program that lives within your operating system.</p>

<p>2019 marks the 50th anniversary of the start of Unix. In the summer of 1969, that same summer that saw humankind’s first steps on the surface of the Moon, computer scientists at the Bell Telephone Laboratories—most centrally Ken Thompson and Dennis Ritchie—began the construction of a new operating system, using a then-aging DEC PDP-7 computer at the labs.</p>
</blockquote>

<hr>

<h3><a href="https://www.cbc.ca/radio/thecurrent/the-current-for-oct-29-2019-1.5339212/this-man-sent-the-first-online-message-50-years-ago-he-s-since-seen-the-web-s-dark-side-emerge-1.5339244" target="_blank" rel="nofollow noopener">This man sent the first online message 50 years ago</a></h3>

<ul>
<li>As many of you have heard in the past, the first online message ever sent between two computers was "lo", just over 50 years ago, on Oct. 29, 1969. </li>
</ul>

<blockquote>
<p>It was supposed to say "log," but the computer sending the message — based at UCLA — crashed before the letter "g" was typed. A computer at Stanford 560 kilometres away was supposed to fill in the remaining characters "in," as in "log in."</p>
</blockquote>

<ul>
<li>The CBC Radio show, “The Current” has a half-hour interview with the man who sent that message, Leonard Kleinrock, distinguished professor of computer science at UCLA</li>
</ul>

<blockquote>
<p>"The idea of the network was you could sit at one computer, log on through the network to a remote computer and use its services there,"</p>

<p>50 years later, the internet has become so ubiquitous that it has almost been rendered invisible. There's hardly an aspect in our daily lives that hasn't been touched and transformed by it.</p>

<p>Q: Take us back to that day 50 years ago. Did you have the sense that this was going to be something you'd be talking about a half a century later?</p>

<p>A: Well, yes and no. Four months before that message was sent, there was a press release that came out of UCLA in which it quotes me as describing what my vision for this network would become. Basically what it said is that this network would be always on, always available. Anybody with any device could get on at anytime from any location, and it would be invisible.</p>

<p>Well, what I missed ... was that this is going to become a social network. People talking to people. Not computers talking to computers, but [the] human element.</p>

<p>Q: Can you briefly explain what you were working on in that lab? Why were you trying to get computers to actually talk to one another?</p>

<p>A: As an MIT graduate student, years before, I recognized I was surrounded by computers and I realized there was no effective [or efficient] way for them to communicate. I did my dissertation, my research, on establishing a mathematical theory of how these networks would work. But there was no such network existing. AT&amp;T said it won't work and, even if it does, we want nothing to do with it.</p>

<p>So I had to wait around for years until the Advanced Research Projects Agency within the Department of Defence decided they needed a network to connect together the computer scientists they were supervising and supporting.</p>

<p>Q: For all the promise of the internet, it has also developed some dark sides that I'm guessing pioneers like yourselves never anticipated.</p>

<p>A: We did not. I knew everybody on the internet at that time, and they were all well-behaved and they all believed in an open, shared free network. So we did not put in any security controls.</p>

<p>When the first spam email occurred, we began to see the dark side emerge as this network reached nefarious people sitting in basements with a high-speed connection, reaching out to millions of people instantaneously, at no cost in time or money, anonymously until all sorts of unpleasant events occurred, which we called the dark side.</p>

<p>But in those early days, I considered the network to be going through its teenage years. Hacking to spam, annoying kinds of effects. I thought that one day this network would mature and grow up. Well, in fact, it took a turn for the worse when nation states, organized crime and extremists came in and began to abuse the network in severe ways.</p>

<p>Q: Is there any part of you that regrets giving birth to this?</p>

<p>A: Absolutely not. The greater good is much more important.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener">How to use blacklistd(8) with NPF as a fail2ban replacement</a></h3>

<blockquote>
<p>blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.</p>

<p>The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf</p>

<p>Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use.</p>

<p>Unfortunately (dont' ask me why ??) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen.</p>
</blockquote>

<ul>
<li><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-blacklistd.html" target="_blank" rel="nofollow noopener">FreeBSD’s handbook chapter on blacklistd</a></li>
</ul>

<hr>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=157059352620659&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD crossed 400,000 commits</a></h3>

<blockquote>
<p>Sometime in the last week OpenBSD crossed 400,000 commits (*) upon all our repositories since starting at 1995/10/18 08:37:01 Canada/Mountain. That's a lot of commits by a lot of amazing people.</p>

<p>(*) by one measure.  Since the repository is so large and old, there are a variety of quirks including ChangeLog missing entries and branches not convertible to other repo forms, so measuring is hard.  If you think you've got a great way of measuring, don't be so sure of yourself -- you may have overcounted or undercounted.</p>
</blockquote>

<ul>
<li>Subject to the notes Theo made about under and over counting, FreeBSD should hit 1 million commits (base + ports + docs) some time in 2020</li>
<li>NetBSD + pkgsrc are approaching 600,000, but of course pkgsrc covers other operating systems too</li>
</ul>

<hr>

<h3><a href="https://www.howtoforge.com/how-to-install-bolt-cms-nginx-ssl-on-freebsd-12/" target="_blank" rel="nofollow noopener">How to Install Bolt CMS with Nginx and Let's Encrypt on FreeBSD 12</a></h3>

<blockquote>
<p>Bolt is a sophisticated, lightweight and simple CMS built with PHP. It is released under the open-source MIT-license and source code is hosted as a public repository on Github. A bolt is a tool for Content Management, which strives to be as simple and straightforward as possible. It is quick to set up, easy to configure, uses elegant templates. Bolt is created using modern open-source libraries and is best suited to build sites in HTML5 with modern markup. In this tutorial, we will go through the Bolt CMS installation on FreeBSD 12 system by using Nginx as a web server, MySQL as a database server, and optionally you can secure the transport layer by using acme.sh client and Let's Encrypt certificate authority to add SSL support.</p>
</blockquote>

<ul>
<li>Requirements</li>
<li>The system requirements for Bolt are modest, and it should run on any fairly modern web server:

<ul>
<li>PHP version 5.5.9 or higher with the following common PHP extensions: pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip.</li>
<li>Access to SQLite (which comes bundled with PHP), or MySQL or PostgreSQL.</li>
<li>Apache with mod_rewrite enabled (.htaccess files) or Nginx (virtual host configuration covered below).</li>
<li>A minimum of 32MB of memory allocated to PHP.</li>
</ul></li>
</ul>

<hr>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-September/719632.html" target="_blank" rel="nofollow noopener">hammer2 - Optimize hammer2 support threads and dispatch</a></h3>

<blockquote>
<p>Refactor the XOP groups in order to be able to queue strategy calls, whenever possible, to the same CPU as the issuer.  This optimizes several cases and reduces unnecessary IPI traffic between cores.  The next best thing to do would be to not queue certain XOPs to an H2 support thread at all, but I would like to keep the threads intact for later clustering work.<br><br>
The best scaling case for this is when one has a large number of user threads doing I/O.  One instance of a single-threaded program on an otherwise idle machine might see a slightly reduction in performance but at the same time we completely avoid unnecessarily spamming all cores in the system on the behalf of a single program, so overhead is also significantly lower.</p>

<p>This will tend to increase the number of H2 support threads since we need a certain degree of multiplication for domain separation.</p>

<p>This should significantly increase I/O performance for multi-threaded workloads.</p>
</blockquote>

<hr>

<h3><a href="http://boston.conman.org/2019/10/17.1" target="_blank" rel="nofollow noopener">You know, we might as well just run every network service over HTTPS/2 and build another six layers on top of that to appease the OSI 7-layer burrito guys</a></h3>

<blockquote>
<p>I've seen the writing on the wall, and while for now you can configure Firefox not to use DoH, I'm not confident enough to think it will remain that way. To that end, I've finally set up my own DoH server for use at Chez Boca. It only involved setting up my own CA to generate the appropriate certificates, install my CA certificate into Firefox, configure Apache to run over HTTP/2 (THANK YOU SO VERY XXXXX­XX MUCH GOOGLE FOR SHOVING THIS HTTP/2 XXXXX­XXX DOWN OUR THROATS!—no, I'm not bitter) and write a 150 line script that just queries my own local DNS, because, you know, it's more XXXXX­XX secure or some XXXXX­XXX reason like that.</p>

<p>Sigh.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.princeton.edu/%7Ehos/Mahoney/unixhistory" target="_blank" rel="nofollow noopener">An Oral History of Unix</a></li>
<li><a href="https://people.freebsd.org/%7Egallatin/talks/euro2019.pdf" target="_blank" rel="nofollow noopener">NUMA Siloing in the FreeBSD Network Stack [pdf]</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLskKNopggjc6NssLc8GEGSiFYJLYdlTQx" target="_blank" rel="nofollow noopener">EuroBSDCon 2019 videos available</a></li>
<li><a href="https://twitter.com/eksffa/status/1188638425567682560" target="_blank" rel="nofollow noopener">Barbie knows best</a></li>
<li><a href="https://twitter.com/bob_beck/status/1188226661684301824" target="_blank" rel="nofollow noopener">For the #OpenBSD #e2k19 attendees.  I did a pre visit today.</a></li>
<li><a href="https://twitter.com/pasha_sh/status/1187877745499561985" target="_blank" rel="nofollow noopener">Drawer Find</a></li>
<li><a href="https://www.openbsd.org/papers/asiabsdcon2019-rop-slides.pdf" target="_blank" rel="nofollow noopener">Slides - Removing ROP Gadgets from OpenBSD - AsiaBSDCon 2019</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bostjan - <a href="http://dpaste.com/1M5MVCX#wrap" target="_blank" rel="nofollow noopener">Open source doesn't mean secure</a></li>
<li>Malcolm - <a href="http://dpaste.com/2RFNR94" target="_blank" rel="nofollow noopener">Allan is Correct.</a></li>
<li><p>Michael - <a href="http://dpaste.com/28YW3BB#wrap" target="_blank" rel="nofollow noopener">FreeNAS inside a Jail</a></p>

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

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0323.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The earliest Unix code, how to replace fail2ban with blacklistd, OpenBSD crossed 400k commits, how to install Bolt CMS on FreeBSD, optimized hammer2, appeasing the OSI 7-layer burrito guys, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/" target="_blank" rel="nofollow noopener">The Earliest Unix Code: An Anniversary Source Code Release</a></h3>

<blockquote>
<p>What is it that runs the servers that hold our online world, be it the web or the cloud? What enables the mobile apps that are at the center of increasingly on-demand lives in the developed world and of mobile banking and messaging in the developing world? The answer is the operating system Unix and its many descendants: Linux, Android, BSD Unix, MacOS, iOS—the list goes on and on. Want to glimpse the Unix in your Mac? Open a Terminal window and enter “man roff” to view the Unix manual entry for an early text formatting program that lives within your operating system.</p>

<p>2019 marks the 50th anniversary of the start of Unix. In the summer of 1969, that same summer that saw humankind’s first steps on the surface of the Moon, computer scientists at the Bell Telephone Laboratories—most centrally Ken Thompson and Dennis Ritchie—began the construction of a new operating system, using a then-aging DEC PDP-7 computer at the labs.</p>
</blockquote>

<hr>

<h3><a href="https://www.cbc.ca/radio/thecurrent/the-current-for-oct-29-2019-1.5339212/this-man-sent-the-first-online-message-50-years-ago-he-s-since-seen-the-web-s-dark-side-emerge-1.5339244" target="_blank" rel="nofollow noopener">This man sent the first online message 50 years ago</a></h3>

<ul>
<li>As many of you have heard in the past, the first online message ever sent between two computers was "lo", just over 50 years ago, on Oct. 29, 1969. </li>
</ul>

<blockquote>
<p>It was supposed to say "log," but the computer sending the message — based at UCLA — crashed before the letter "g" was typed. A computer at Stanford 560 kilometres away was supposed to fill in the remaining characters "in," as in "log in."</p>
</blockquote>

<ul>
<li>The CBC Radio show, “The Current” has a half-hour interview with the man who sent that message, Leonard Kleinrock, distinguished professor of computer science at UCLA</li>
</ul>

<blockquote>
<p>"The idea of the network was you could sit at one computer, log on through the network to a remote computer and use its services there,"</p>

<p>50 years later, the internet has become so ubiquitous that it has almost been rendered invisible. There's hardly an aspect in our daily lives that hasn't been touched and transformed by it.</p>

<p>Q: Take us back to that day 50 years ago. Did you have the sense that this was going to be something you'd be talking about a half a century later?</p>

<p>A: Well, yes and no. Four months before that message was sent, there was a press release that came out of UCLA in which it quotes me as describing what my vision for this network would become. Basically what it said is that this network would be always on, always available. Anybody with any device could get on at anytime from any location, and it would be invisible.</p>

<p>Well, what I missed ... was that this is going to become a social network. People talking to people. Not computers talking to computers, but [the] human element.</p>

<p>Q: Can you briefly explain what you were working on in that lab? Why were you trying to get computers to actually talk to one another?</p>

<p>A: As an MIT graduate student, years before, I recognized I was surrounded by computers and I realized there was no effective [or efficient] way for them to communicate. I did my dissertation, my research, on establishing a mathematical theory of how these networks would work. But there was no such network existing. AT&amp;T said it won't work and, even if it does, we want nothing to do with it.</p>

<p>So I had to wait around for years until the Advanced Research Projects Agency within the Department of Defence decided they needed a network to connect together the computer scientists they were supervising and supporting.</p>

<p>Q: For all the promise of the internet, it has also developed some dark sides that I'm guessing pioneers like yourselves never anticipated.</p>

<p>A: We did not. I knew everybody on the internet at that time, and they were all well-behaved and they all believed in an open, shared free network. So we did not put in any security controls.</p>

<p>When the first spam email occurred, we began to see the dark side emerge as this network reached nefarious people sitting in basements with a high-speed connection, reaching out to millions of people instantaneously, at no cost in time or money, anonymously until all sorts of unpleasant events occurred, which we called the dark side.</p>

<p>But in those early days, I considered the network to be going through its teenage years. Hacking to spam, annoying kinds of effects. I thought that one day this network would mature and grow up. Well, in fact, it took a turn for the worse when nation states, organized crime and extremists came in and began to abuse the network in severe ways.</p>

<p>Q: Is there any part of you that regrets giving birth to this?</p>

<p>A: Absolutely not. The greater good is much more important.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener">How to use blacklistd(8) with NPF as a fail2ban replacement</a></h3>

<blockquote>
<p>blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.</p>

<p>The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf</p>

<p>Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use.</p>

<p>Unfortunately (dont' ask me why ??) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen.</p>
</blockquote>

<ul>
<li><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-blacklistd.html" target="_blank" rel="nofollow noopener">FreeBSD’s handbook chapter on blacklistd</a></li>
</ul>

<hr>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=157059352620659&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD crossed 400,000 commits</a></h3>

<blockquote>
<p>Sometime in the last week OpenBSD crossed 400,000 commits (*) upon all our repositories since starting at 1995/10/18 08:37:01 Canada/Mountain. That's a lot of commits by a lot of amazing people.</p>

<p>(*) by one measure.  Since the repository is so large and old, there are a variety of quirks including ChangeLog missing entries and branches not convertible to other repo forms, so measuring is hard.  If you think you've got a great way of measuring, don't be so sure of yourself -- you may have overcounted or undercounted.</p>
</blockquote>

<ul>
<li>Subject to the notes Theo made about under and over counting, FreeBSD should hit 1 million commits (base + ports + docs) some time in 2020</li>
<li>NetBSD + pkgsrc are approaching 600,000, but of course pkgsrc covers other operating systems too</li>
</ul>

<hr>

<h3><a href="https://www.howtoforge.com/how-to-install-bolt-cms-nginx-ssl-on-freebsd-12/" target="_blank" rel="nofollow noopener">How to Install Bolt CMS with Nginx and Let's Encrypt on FreeBSD 12</a></h3>

<blockquote>
<p>Bolt is a sophisticated, lightweight and simple CMS built with PHP. It is released under the open-source MIT-license and source code is hosted as a public repository on Github. A bolt is a tool for Content Management, which strives to be as simple and straightforward as possible. It is quick to set up, easy to configure, uses elegant templates. Bolt is created using modern open-source libraries and is best suited to build sites in HTML5 with modern markup. In this tutorial, we will go through the Bolt CMS installation on FreeBSD 12 system by using Nginx as a web server, MySQL as a database server, and optionally you can secure the transport layer by using acme.sh client and Let's Encrypt certificate authority to add SSL support.</p>
</blockquote>

<ul>
<li>Requirements</li>
<li>The system requirements for Bolt are modest, and it should run on any fairly modern web server:

<ul>
<li>PHP version 5.5.9 or higher with the following common PHP extensions: pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip.</li>
<li>Access to SQLite (which comes bundled with PHP), or MySQL or PostgreSQL.</li>
<li>Apache with mod_rewrite enabled (.htaccess files) or Nginx (virtual host configuration covered below).</li>
<li>A minimum of 32MB of memory allocated to PHP.</li>
</ul></li>
</ul>

<hr>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-September/719632.html" target="_blank" rel="nofollow noopener">hammer2 - Optimize hammer2 support threads and dispatch</a></h3>

<blockquote>
<p>Refactor the XOP groups in order to be able to queue strategy calls, whenever possible, to the same CPU as the issuer.  This optimizes several cases and reduces unnecessary IPI traffic between cores.  The next best thing to do would be to not queue certain XOPs to an H2 support thread at all, but I would like to keep the threads intact for later clustering work.<br><br>
The best scaling case for this is when one has a large number of user threads doing I/O.  One instance of a single-threaded program on an otherwise idle machine might see a slightly reduction in performance but at the same time we completely avoid unnecessarily spamming all cores in the system on the behalf of a single program, so overhead is also significantly lower.</p>

<p>This will tend to increase the number of H2 support threads since we need a certain degree of multiplication for domain separation.</p>

<p>This should significantly increase I/O performance for multi-threaded workloads.</p>
</blockquote>

<hr>

<h3><a href="http://boston.conman.org/2019/10/17.1" target="_blank" rel="nofollow noopener">You know, we might as well just run every network service over HTTPS/2 and build another six layers on top of that to appease the OSI 7-layer burrito guys</a></h3>

<blockquote>
<p>I've seen the writing on the wall, and while for now you can configure Firefox not to use DoH, I'm not confident enough to think it will remain that way. To that end, I've finally set up my own DoH server for use at Chez Boca. It only involved setting up my own CA to generate the appropriate certificates, install my CA certificate into Firefox, configure Apache to run over HTTP/2 (THANK YOU SO VERY XXXXX­XX MUCH GOOGLE FOR SHOVING THIS HTTP/2 XXXXX­XXX DOWN OUR THROATS!—no, I'm not bitter) and write a 150 line script that just queries my own local DNS, because, you know, it's more XXXXX­XX secure or some XXXXX­XXX reason like that.</p>

<p>Sigh.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.princeton.edu/%7Ehos/Mahoney/unixhistory" target="_blank" rel="nofollow noopener">An Oral History of Unix</a></li>
<li><a href="https://people.freebsd.org/%7Egallatin/talks/euro2019.pdf" target="_blank" rel="nofollow noopener">NUMA Siloing in the FreeBSD Network Stack [pdf]</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLskKNopggjc6NssLc8GEGSiFYJLYdlTQx" target="_blank" rel="nofollow noopener">EuroBSDCon 2019 videos available</a></li>
<li><a href="https://twitter.com/eksffa/status/1188638425567682560" target="_blank" rel="nofollow noopener">Barbie knows best</a></li>
<li><a href="https://twitter.com/bob_beck/status/1188226661684301824" target="_blank" rel="nofollow noopener">For the #OpenBSD #e2k19 attendees.  I did a pre visit today.</a></li>
<li><a href="https://twitter.com/pasha_sh/status/1187877745499561985" target="_blank" rel="nofollow noopener">Drawer Find</a></li>
<li><a href="https://www.openbsd.org/papers/asiabsdcon2019-rop-slides.pdf" target="_blank" rel="nofollow noopener">Slides - Removing ROP Gadgets from OpenBSD - AsiaBSDCon 2019</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bostjan - <a href="http://dpaste.com/1M5MVCX#wrap" target="_blank" rel="nofollow noopener">Open source doesn't mean secure</a></li>
<li>Malcolm - <a href="http://dpaste.com/2RFNR94" target="_blank" rel="nofollow noopener">Allan is Correct.</a></li>
<li><p>Michael - <a href="http://dpaste.com/28YW3BB#wrap" target="_blank" rel="nofollow noopener">FreeNAS inside a Jail</a></p>

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

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0323.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>320: Codebase: Neck Deep</title>
  <link>https://www.bsdnow.tv/320</link>
  <guid isPermaLink="false">11b9f24e-1789-4328-8396-4b9654aa2dfc</guid>
  <pubDate>Wed, 16 Oct 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/11b9f24e-1789-4328-8396-4b9654aa2dfc.mp3" length="40815513" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD on the Google Pixelbook, Porting NetBSD to the AMD x86-64, ZFS performance really does degrade as you approach quota limits, Fixing up KA9Q-unix, HAMMER2 and fsck for review, the return of startx(1) for non-root users, and more.</itunes:subtitle>
  <itunes:duration>56:41</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://unrelenting.technology/articles/FreeBSD-and-custom-firmware-on-the-Google-Pixelbook" target="_blank" rel="nofollow noopener"&gt;FreeBSD and custom firmware on the Google Pixelbook&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD and custom firmware on the Google Pixelbook&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Back in 2015, I jumped on the ThinkPad bandwagon by getting an X240 to run FreeBSD on. Unlike most people in the ThinkPad crowd, I actually liked the clickpad and didn\u2019t use the trackpoint much. But this summer I\u2019ve decided that it was time for something newer. I wanted something..&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;lighter and thinner (ha, turns out this is actually important, I got tired of carrying a T H I C C laptop - Apple was right all along);&lt;/li&gt;
&lt;li&gt;with a 3:2 display (why is Lenovo making these Serious Work\u2122 laptops 16:9 in the first place?? 16:9 is awful in below-13-inch sizes especially);&lt;/li&gt;
&lt;li&gt;with a HiDPI display (and ideally with a good size for exact 2x scaling instead of fractional);&lt;/li&gt;
&lt;li&gt;with USB-C ports;&lt;/li&gt;
&lt;li&gt;without a dGPU, especially without an NVIDIA GPU;&lt;/li&gt;
&lt;li&gt;assembled with screws and not glue (I don\u2019t necessarily need expansion and stuff in a laptop all that much, but being able to replace the battery without dealing with a glued chassis is good);&lt;/li&gt;
&lt;li&gt;supported by FreeBSD of course (\u201csome development required\u201d is okay but I\u2019m not going to write big drivers);&lt;/li&gt;
&lt;li&gt;how about something with open source firmware, that would be fun.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I was considering a ThinkPad X1 Carbon from an old generation - the one from the same year as the X230 is corebootable, so that\u2019s fun. But going back in processor generations just doesn\u2019t feel great. I want something more efficient, not less!&lt;/p&gt;

&lt;p&gt;And then I discovered the Pixelbook. Other than the big huge large bezels around the screen, I liked everything about it. Thin aluminum design, a 3:2 HiDPI screen, rubber palm rests (why isn\u2019t every laptop ever doing that?!), the \u201cconvertibleness\u201d (flip the screen around to turn it into.. something rather big for a tablet, but it is useful actually), a Wacom touchscreen that supports a pen, mostly reasonable hardware (Intel Wi-Fi), and that famous coreboot support (Chromebooks\u2019 stock firmware is coreboot + depthcharge).&lt;/p&gt;

&lt;p&gt;So here it is, my new laptop, a Google Pixelbook.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Pixelbook, FreeBSD, coreboot, EDK2 good.&lt;/p&gt;

&lt;p&gt;Seriously, I have no big words to say, other than just recommending this laptop to FOSS enthusiasts :)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.usenix.org/legacy/publications/library/proceedings/bsdcon02/full_papers/linden/linden_html/index.html" target="_blank" rel="nofollow noopener"&gt;Porting NetBSD to the AMD x86-64: a case study in OS portability&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Abstract&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD is known as a very portable operating system, currently running on 44 different architectures (12 different types of CPU). This paper takes a look at what has been done to make it portable, and how this has decreased the amount of effort needed to port NetBSD to a new architecture. The new AMD x86-64 architecture, of which the specifications were published at the end of 2000, with hardware to follow in 2002, is used as an example.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;blockquote&gt;
&lt;p&gt;Supporting multiple platforms was a primary goal of the NetBSD project from the start. As NetBSD was ported to more and more platforms, the NetBSD kernel code was adapted to become more portable along the way.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;General&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Generally, code is shared between ports as much as possible. In NetBSD, it should always be considered if the code can be assumed to be useful on other architectures, present or future. If so, it is machine-independent and put it in an appropriate place in the source tree. When writing code that is intended to be machine-independent, and it contains conditional preprocessor statements depending on the architecture, then the code is likely wrong, or an extra abstraction layer is needed to get rid of these statements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Types&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Assumptions about the size of any type are not made. Assumptions made about type sizes on 32-bit platforms were a large problem when 64-bit platforms came around. Most of the problems of this kind had to be dealt with when NetBSD was ported to the DEC Alpha in 1994. A variation on this problem had to be dealt with with the UltraSPARC (sparc64) port in 1998, which is 64-bit, but big endian (vs. the little-endianness of the Alpha). When interacting with datastructures of a fixed size, such as on-disk metadata for filesystems, or datastructures directly interpreted by device hardware, explicitly sized types are used, such as uint32_t, int8_t, etc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusions and future work&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The port of NetBSD to AMD's x86-64 architecture was done in six weeks, which confirms NetBSD's reputation as being a very portable operating system. One week was spent setting up the cross-toolchain and reading the x86-64 specifications, three weeks were spent writing the kernel code, one week was spent writing the userspace code, and one week testing and debugging it all. No problems were observed in any of the machine-independent parts of the kernel during test runs; all (simulated) device drivers, file systems, etc, worked without modification.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSFullQuotaPerformanceIssue" target="_blank" rel="nofollow noopener"&gt;ZFS performance really does degrade as you approach quota limits&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Every so often (currently monthly), there is an "OpenZFS leadership meeting". What this really means is 'lead developers from the various ZFS implementations get together to talk about things'. Announcements and meeting notes from these meetings get sent out to various mailing lists, including the ZFS on Linux ones. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In the September meeting notes, I read a very interesting (to me) agenda item: 

&lt;ul&gt;
&lt;li&gt;Relax quota semantics for improved performance (Allan Jude)&lt;/li&gt;
&lt;li&gt;Problem: As you approach quotas, ZFS performance degrades.&lt;/li&gt;
&lt;li&gt;Proposal: Can we have a property like quota-policy=strict or loose, where we can optionally allow ZFS to run over the quota as long as performance is not decreased.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is very interesting to me because of two reasons. First, in the past we have definitely seen significant problems on our OmniOS machines, both when an entire pool hits a quota limit and when a single filesystem hits a refquota limit. It's nice to know that this wasn't just our imagination and that there is a real issue here. Even better, it might someday be improved (and perhaps in a way that we can use at least some of the time).&lt;/p&gt;

&lt;p&gt;Second, any number of people here run very close to and sometimes at the quota limits of both filesystems and pools, fundamentally because people aren't willing to buy more space. We have in the past assumed that this was relatively harmless and would only make people run out of space. If this is a known issue that causes serious performance degradation, well, I don't know if there's anything we can do, but at least we're going to have to think about it and maybe push harder at people. The first step will have to be learning the details of what's going on at the ZFS level to cause the slowdown. (It's apparently similar to what happens when the pool is almost full, but I don't know the specifics of that either.)&lt;/p&gt;

&lt;p&gt;With that said, we don't seem to have seen clear adverse effects on our Linux fileservers, and they've definitely run into quota limits (repeatedly). One possible reason for this is that having lots of RAM and SSDs makes the effects mostly go away. Another possible reason is that we haven't been looking closely enough to see that we're experiencing global slowdowns that correlate to filesystems hitting quota limits. We've had issues before with somewhat subtle slowdowns that we didn't understand (cf), so I can't discount that we're having it happen again.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://adrianchadd.blogspot.com/2019/09/fixing-up-ka9q-unix-or-neck-deep-in-30.html" target="_blank" rel="nofollow noopener"&gt;Fixing up KA9Q-unix, or "neck deep in 30 year old codebases.."&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I'll preface this by saying - yes, I'm still neck deep in FreeBSD's wifi stack and 802.11ac support, but it turns out it's slow work to fix 15 year old locking related issues that worked fine on 11abg cards, kinda worked ok on 11n cards, and are terrible for these 11ac cards. I'll .. get there.&lt;/p&gt;

&lt;p&gt;Anyhoo, I've finally been mucking around with AX.25 packet radio. I've been wanting to do this since I was a teenager and found out about its existence, but back in high school and .. well, until a few years ago really .. I didn't have my amateur radio licence. But, now I do, and I've done a bunch of other stuff with a bunch of other radios. The main stumbling block? All my devices are either Apple products or run FreeBSD - and none of them have useful AX.25 stacks. The main stacks of choice these days run on Linux, Windows or are a full hardware TNC.&lt;/p&gt;

&lt;p&gt;So yes, I was avoiding hacking on AX.25 stuff because there wasn't a BSD compatible AX.25 stack. I'm 40 now, leave me be.&lt;/p&gt;

&lt;p&gt;But! A few weeks ago I found that someone was still running a packet BBS out of San Francisco. And amazingly, his local node ran on FreeBSD! It turns out Jeremy (KK6JJJ) ported both an old copy of KA9Q and N0ARY-BBS to run on FreeBSD! Cool!&lt;/p&gt;

&lt;p&gt;I grabbed my 2m radio (which is already cabled up for digital modes), compiled up his KA9Q port, figured out how to get it to speak to Direwolf, and .. ok. Well, it worked. Kinda.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener"&gt;HAMMER2 and fsck for review&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there\u2019s now a fsck command, useful if you want a report of data validity rather than any manual repair process.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;[The return of startx(1) for non-root users &lt;a href="https://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener"&gt;with some caveats&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Mark Kettenis (kettenis@) has recently committed changes which restore a certain amount of startx(1)/xinit(1) functionality for non-root users. The commit messages explain the situation:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CVSROOT:    /cvs
Module name:    src
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:25:41

Modified files:
    etc/etc.amd64  : fbtab 
    etc/etc.arm64  : fbtab 
    etc/etc.hppa   : fbtab 
    etc/etc.i386   : fbtab 
    etc/etc.loongson: fbtab 
    etc/etc.luna88k: fbtab 
    etc/etc.macppc : fbtab 
    etc/etc.octeon : fbtab 
    etc/etc.sgi    : fbtab 
    etc/etc.sparc64: fbtab 

Log message:
Add ttyC4 to lost of devices to change when logging in on ttyC0 (and in some cases also the serial console) such that X can use it as its VT when running without root privileges.

ok jsg@, matthieu@
CVSROOT:    /cvs
Module name:    xenocara
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:31:08

Modified files:
    xserver/hw/xfree86/common: xf86AutoConfig.c 

Log message:
Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.

This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).

ok jsg@, matthieu@
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bestasciitable.com/" target="_blank" rel="nofollow noopener"&gt;ASCII table and history.  Or, why does Ctrl+i insert a Tab in my terminal?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sourcehut.org/blog/2019-09-12-sourcehut-makes-bsd-software-better/" target="_blank" rel="nofollow noopener"&gt;Sourcehut makes BSD software better&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/LM-3/chaos" target="_blank" rel="nofollow noopener"&gt;Chaosnet for Unx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cosine.blue/2019-09-06-kakoune.html" target="_blank" rel="nofollow noopener"&gt;The Vim-Inspired Editor with a Linguistic Twist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://papers.freebsd.org/2019/bsdcan/elisei-bhyvearm64_cpu_and_memory_virtualization_on_armv8.0_a/" target="_blank" rel="nofollow noopener"&gt;bhyvearm64: CPU and Memory Virtualization on Armv8.0-A&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=a2m56Yq-EIs" target="_blank" rel="nofollow noopener"&gt;DefCon25 - Are all BSD created Equally - A Survey of BSD Kernel vulnerabilities&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;Tim - &lt;a href="http://dpaste.com/1RCSFK7#wrap" target="_blank" rel="nofollow noopener"&gt;GSoC project ideas for pf rule syntax translation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/2SKA9YB#wrap" target="_blank" rel="nofollow noopener"&gt;Steam on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ruslan - &lt;a href="http://dpaste.com/0DQM3Q1" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Status Report - Q2 2019&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0320.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, google pixelbook, pixelbook, case study, portability, porting, zfs, zfs performance, performance, quota, quota limits, zfs quota, ka9q, unix, hammer2, fsck, startx</itunes:keywords>
  <content:encoded>
    <![CDATA[<h2>Headlines</h2>

<h3><a href="https://unrelenting.technology/articles/FreeBSD-and-custom-firmware-on-the-Google-Pixelbook" target="_blank" rel="nofollow noopener">FreeBSD and custom firmware on the Google Pixelbook</a></h3>

<ul>
<li>FreeBSD and custom firmware on the Google Pixelbook</li>
</ul>

<blockquote>
<p>Back in 2015, I jumped on the ThinkPad bandwagon by getting an X240 to run FreeBSD on. Unlike most people in the ThinkPad crowd, I actually liked the clickpad and didn\u2019t use the trackpoint much. But this summer I\u2019ve decided that it was time for something newer. I wanted something..</p>
</blockquote>

<ul>
<li>lighter and thinner (ha, turns out this is actually important, I got tired of carrying a T H I C C laptop - Apple was right all along);</li>
<li>with a 3:2 display (why is Lenovo making these Serious Work\u2122 laptops 16:9 in the first place?? 16:9 is awful in below-13-inch sizes especially);</li>
<li>with a HiDPI display (and ideally with a good size for exact 2x scaling instead of fractional);</li>
<li>with USB-C ports;</li>
<li>without a dGPU, especially without an NVIDIA GPU;</li>
<li>assembled with screws and not glue (I don\u2019t necessarily need expansion and stuff in a laptop all that much, but being able to replace the battery without dealing with a glued chassis is good);</li>
<li>supported by FreeBSD of course (\u201csome development required\u201d is okay but I\u2019m not going to write big drivers);</li>
<li>how about something with open source firmware, that would be fun.</li>
</ul>

<blockquote>
<p>I was considering a ThinkPad X1 Carbon from an old generation - the one from the same year as the X230 is corebootable, so that\u2019s fun. But going back in processor generations just doesn\u2019t feel great. I want something more efficient, not less!</p>

<p>And then I discovered the Pixelbook. Other than the big huge large bezels around the screen, I liked everything about it. Thin aluminum design, a 3:2 HiDPI screen, rubber palm rests (why isn\u2019t every laptop ever doing that?!), the \u201cconvertibleness\u201d (flip the screen around to turn it into.. something rather big for a tablet, but it is useful actually), a Wacom touchscreen that supports a pen, mostly reasonable hardware (Intel Wi-Fi), and that famous coreboot support (Chromebooks\u2019 stock firmware is coreboot + depthcharge).</p>

<p>So here it is, my new laptop, a Google Pixelbook.</p>
</blockquote>

<ul>
<li>Conclusion</li>
</ul>

<blockquote>
<p>Pixelbook, FreeBSD, coreboot, EDK2 good.</p>

<p>Seriously, I have no big words to say, other than just recommending this laptop to FOSS enthusiasts :)</p>
</blockquote>

<hr>

<h3><a href="https://www.usenix.org/legacy/publications/library/proceedings/bsdcon02/full_papers/linden/linden_html/index.html" target="_blank" rel="nofollow noopener">Porting NetBSD to the AMD x86-64: a case study in OS portability</a></h3>

<ul>
<li>Abstract</li>
</ul>

<blockquote>
<p>NetBSD is known as a very portable operating system, currently running on 44 different architectures (12 different types of CPU). This paper takes a look at what has been done to make it portable, and how this has decreased the amount of effort needed to port NetBSD to a new architecture. The new AMD x86-64 architecture, of which the specifications were published at the end of 2000, with hardware to follow in 2002, is used as an example.</p>
</blockquote>

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

<blockquote>
<p>Supporting multiple platforms was a primary goal of the NetBSD project from the start. As NetBSD was ported to more and more platforms, the NetBSD kernel code was adapted to become more portable along the way.</p>
</blockquote>

<ul>
<li>General</li>
</ul>

<blockquote>
<p>Generally, code is shared between ports as much as possible. In NetBSD, it should always be considered if the code can be assumed to be useful on other architectures, present or future. If so, it is machine-independent and put it in an appropriate place in the source tree. When writing code that is intended to be machine-independent, and it contains conditional preprocessor statements depending on the architecture, then the code is likely wrong, or an extra abstraction layer is needed to get rid of these statements.</p>
</blockquote>

<ul>
<li>Types</li>
</ul>

<blockquote>
<p>Assumptions about the size of any type are not made. Assumptions made about type sizes on 32-bit platforms were a large problem when 64-bit platforms came around. Most of the problems of this kind had to be dealt with when NetBSD was ported to the DEC Alpha in 1994. A variation on this problem had to be dealt with with the UltraSPARC (sparc64) port in 1998, which is 64-bit, but big endian (vs. the little-endianness of the Alpha). When interacting with datastructures of a fixed size, such as on-disk metadata for filesystems, or datastructures directly interpreted by device hardware, explicitly sized types are used, such as uint32_t, int8_t, etc.</p>
</blockquote>

<ul>
<li>Conclusions and future work</li>
</ul>

<blockquote>
<p>The port of NetBSD to AMD's x86-64 architecture was done in six weeks, which confirms NetBSD's reputation as being a very portable operating system. One week was spent setting up the cross-toolchain and reading the x86-64 specifications, three weeks were spent writing the kernel code, one week was spent writing the userspace code, and one week testing and debugging it all. No problems were observed in any of the machine-independent parts of the kernel during test runs; all (simulated) device drivers, file systems, etc, worked without modification.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSFullQuotaPerformanceIssue" target="_blank" rel="nofollow noopener">ZFS performance really does degrade as you approach quota limits</a></h3>

<blockquote>
<p>Every so often (currently monthly), there is an "OpenZFS leadership meeting". What this really means is 'lead developers from the various ZFS implementations get together to talk about things'. Announcements and meeting notes from these meetings get sent out to various mailing lists, including the ZFS on Linux ones. </p>
</blockquote>

<ul>
<li>In the September meeting notes, I read a very interesting (to me) agenda item: 

<ul>
<li>Relax quota semantics for improved performance (Allan Jude)</li>
<li>Problem: As you approach quotas, ZFS performance degrades.</li>
<li>Proposal: Can we have a property like quota-policy=strict or loose, where we can optionally allow ZFS to run over the quota as long as performance is not decreased.</li>
</ul></li>
</ul>

<blockquote>
<p>This is very interesting to me because of two reasons. First, in the past we have definitely seen significant problems on our OmniOS machines, both when an entire pool hits a quota limit and when a single filesystem hits a refquota limit. It's nice to know that this wasn't just our imagination and that there is a real issue here. Even better, it might someday be improved (and perhaps in a way that we can use at least some of the time).</p>

<p>Second, any number of people here run very close to and sometimes at the quota limits of both filesystems and pools, fundamentally because people aren't willing to buy more space. We have in the past assumed that this was relatively harmless and would only make people run out of space. If this is a known issue that causes serious performance degradation, well, I don't know if there's anything we can do, but at least we're going to have to think about it and maybe push harder at people. The first step will have to be learning the details of what's going on at the ZFS level to cause the slowdown. (It's apparently similar to what happens when the pool is almost full, but I don't know the specifics of that either.)</p>

<p>With that said, we don't seem to have seen clear adverse effects on our Linux fileservers, and they've definitely run into quota limits (repeatedly). One possible reason for this is that having lots of RAM and SSDs makes the effects mostly go away. Another possible reason is that we haven't been looking closely enough to see that we're experiencing global slowdowns that correlate to filesystems hitting quota limits. We've had issues before with somewhat subtle slowdowns that we didn't understand (cf), so I can't discount that we're having it happen again.</p>
</blockquote>

<hr>

<h3><a href="http://adrianchadd.blogspot.com/2019/09/fixing-up-ka9q-unix-or-neck-deep-in-30.html" target="_blank" rel="nofollow noopener">Fixing up KA9Q-unix, or "neck deep in 30 year old codebases.."</a></h3>

<blockquote>
<p>I'll preface this by saying - yes, I'm still neck deep in FreeBSD's wifi stack and 802.11ac support, but it turns out it's slow work to fix 15 year old locking related issues that worked fine on 11abg cards, kinda worked ok on 11n cards, and are terrible for these 11ac cards. I'll .. get there.</p>

<p>Anyhoo, I've finally been mucking around with AX.25 packet radio. I've been wanting to do this since I was a teenager and found out about its existence, but back in high school and .. well, until a few years ago really .. I didn't have my amateur radio licence. But, now I do, and I've done a bunch of other stuff with a bunch of other radios. The main stumbling block? All my devices are either Apple products or run FreeBSD - and none of them have useful AX.25 stacks. The main stacks of choice these days run on Linux, Windows or are a full hardware TNC.</p>

<p>So yes, I was avoiding hacking on AX.25 stuff because there wasn't a BSD compatible AX.25 stack. I'm 40 now, leave me be.</p>

<p>But! A few weeks ago I found that someone was still running a packet BBS out of San Francisco. And amazingly, his local node ran on FreeBSD! It turns out Jeremy (KK6JJJ) ported both an old copy of KA9Q and N0ARY-BBS to run on FreeBSD! Cool!</p>

<p>I grabbed my 2m radio (which is already cabled up for digital modes), compiled up his KA9Q port, figured out how to get it to speak to Direwolf, and .. ok. Well, it worked. Kinda.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener">HAMMER2 and fsck for review</a></h3>

<blockquote>
<p>HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there\u2019s now a fsck command, useful if you want a report of data validity rather than any manual repair process.</p>
</blockquote>

<hr>

<h3>[The return of startx(1) for non-root users <a href="https://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener">with some caveats</a></h3>

<p>Mark Kettenis (kettenis@) has recently committed changes which restore a certain amount of startx(1)/xinit(1) functionality for non-root users. The commit messages explain the situation:</p>

<pre><code>CVSROOT:    /cvs
Module name:    src
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:25:41

Modified files:
    etc/etc.amd64  : fbtab 
    etc/etc.arm64  : fbtab 
    etc/etc.hppa   : fbtab 
    etc/etc.i386   : fbtab 
    etc/etc.loongson: fbtab 
    etc/etc.luna88k: fbtab 
    etc/etc.macppc : fbtab 
    etc/etc.octeon : fbtab 
    etc/etc.sgi    : fbtab 
    etc/etc.sparc64: fbtab 

Log message:
Add ttyC4 to lost of devices to change when logging in on ttyC0 (and in some cases also the serial console) such that X can use it as its VT when running without root privileges.

ok jsg@, matthieu@
CVSROOT:    /cvs
Module name:    xenocara
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:31:08

Modified files:
    xserver/hw/xfree86/common: xf86AutoConfig.c 

Log message:
Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.

This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).

ok jsg@, matthieu@
</code></pre>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://bestasciitable.com/" target="_blank" rel="nofollow noopener">ASCII table and history.  Or, why does Ctrl+i insert a Tab in my terminal?</a></li>
<li><a href="https://sourcehut.org/blog/2019-09-12-sourcehut-makes-bsd-software-better/" target="_blank" rel="nofollow noopener">Sourcehut makes BSD software better</a></li>
<li><a href="https://github.com/LM-3/chaos" target="_blank" rel="nofollow noopener">Chaosnet for Unx</a></li>
<li><a href="https://cosine.blue/2019-09-06-kakoune.html" target="_blank" rel="nofollow noopener">The Vim-Inspired Editor with a Linguistic Twist</a></li>
<li><a href="https://papers.freebsd.org/2019/bsdcan/elisei-bhyvearm64_cpu_and_memory_virtualization_on_armv8.0_a/" target="_blank" rel="nofollow noopener">bhyvearm64: CPU and Memory Virtualization on Armv8.0-A</a></li>
<li><a href="https://www.youtube.com/watch?v=a2m56Yq-EIs" target="_blank" rel="nofollow noopener">DefCon25 - Are all BSD created Equally - A Survey of BSD Kernel vulnerabilities</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Tim - <a href="http://dpaste.com/1RCSFK7#wrap" target="_blank" rel="nofollow noopener">GSoC project ideas for pf rule syntax translation</a></li>
<li>Brad - <a href="http://dpaste.com/2SKA9YB#wrap" target="_blank" rel="nofollow noopener">Steam on FreeBSD</a></li>
<li>Ruslan - <a href="http://dpaste.com/0DQM3Q1" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report - Q2 2019</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0320.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<h2>Headlines</h2>

<h3><a href="https://unrelenting.technology/articles/FreeBSD-and-custom-firmware-on-the-Google-Pixelbook" target="_blank" rel="nofollow noopener">FreeBSD and custom firmware on the Google Pixelbook</a></h3>

<ul>
<li>FreeBSD and custom firmware on the Google Pixelbook</li>
</ul>

<blockquote>
<p>Back in 2015, I jumped on the ThinkPad bandwagon by getting an X240 to run FreeBSD on. Unlike most people in the ThinkPad crowd, I actually liked the clickpad and didn\u2019t use the trackpoint much. But this summer I\u2019ve decided that it was time for something newer. I wanted something..</p>
</blockquote>

<ul>
<li>lighter and thinner (ha, turns out this is actually important, I got tired of carrying a T H I C C laptop - Apple was right all along);</li>
<li>with a 3:2 display (why is Lenovo making these Serious Work\u2122 laptops 16:9 in the first place?? 16:9 is awful in below-13-inch sizes especially);</li>
<li>with a HiDPI display (and ideally with a good size for exact 2x scaling instead of fractional);</li>
<li>with USB-C ports;</li>
<li>without a dGPU, especially without an NVIDIA GPU;</li>
<li>assembled with screws and not glue (I don\u2019t necessarily need expansion and stuff in a laptop all that much, but being able to replace the battery without dealing with a glued chassis is good);</li>
<li>supported by FreeBSD of course (\u201csome development required\u201d is okay but I\u2019m not going to write big drivers);</li>
<li>how about something with open source firmware, that would be fun.</li>
</ul>

<blockquote>
<p>I was considering a ThinkPad X1 Carbon from an old generation - the one from the same year as the X230 is corebootable, so that\u2019s fun. But going back in processor generations just doesn\u2019t feel great. I want something more efficient, not less!</p>

<p>And then I discovered the Pixelbook. Other than the big huge large bezels around the screen, I liked everything about it. Thin aluminum design, a 3:2 HiDPI screen, rubber palm rests (why isn\u2019t every laptop ever doing that?!), the \u201cconvertibleness\u201d (flip the screen around to turn it into.. something rather big for a tablet, but it is useful actually), a Wacom touchscreen that supports a pen, mostly reasonable hardware (Intel Wi-Fi), and that famous coreboot support (Chromebooks\u2019 stock firmware is coreboot + depthcharge).</p>

<p>So here it is, my new laptop, a Google Pixelbook.</p>
</blockquote>

<ul>
<li>Conclusion</li>
</ul>

<blockquote>
<p>Pixelbook, FreeBSD, coreboot, EDK2 good.</p>

<p>Seriously, I have no big words to say, other than just recommending this laptop to FOSS enthusiasts :)</p>
</blockquote>

<hr>

<h3><a href="https://www.usenix.org/legacy/publications/library/proceedings/bsdcon02/full_papers/linden/linden_html/index.html" target="_blank" rel="nofollow noopener">Porting NetBSD to the AMD x86-64: a case study in OS portability</a></h3>

<ul>
<li>Abstract</li>
</ul>

<blockquote>
<p>NetBSD is known as a very portable operating system, currently running on 44 different architectures (12 different types of CPU). This paper takes a look at what has been done to make it portable, and how this has decreased the amount of effort needed to port NetBSD to a new architecture. The new AMD x86-64 architecture, of which the specifications were published at the end of 2000, with hardware to follow in 2002, is used as an example.</p>
</blockquote>

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

<blockquote>
<p>Supporting multiple platforms was a primary goal of the NetBSD project from the start. As NetBSD was ported to more and more platforms, the NetBSD kernel code was adapted to become more portable along the way.</p>
</blockquote>

<ul>
<li>General</li>
</ul>

<blockquote>
<p>Generally, code is shared between ports as much as possible. In NetBSD, it should always be considered if the code can be assumed to be useful on other architectures, present or future. If so, it is machine-independent and put it in an appropriate place in the source tree. When writing code that is intended to be machine-independent, and it contains conditional preprocessor statements depending on the architecture, then the code is likely wrong, or an extra abstraction layer is needed to get rid of these statements.</p>
</blockquote>

<ul>
<li>Types</li>
</ul>

<blockquote>
<p>Assumptions about the size of any type are not made. Assumptions made about type sizes on 32-bit platforms were a large problem when 64-bit platforms came around. Most of the problems of this kind had to be dealt with when NetBSD was ported to the DEC Alpha in 1994. A variation on this problem had to be dealt with with the UltraSPARC (sparc64) port in 1998, which is 64-bit, but big endian (vs. the little-endianness of the Alpha). When interacting with datastructures of a fixed size, such as on-disk metadata for filesystems, or datastructures directly interpreted by device hardware, explicitly sized types are used, such as uint32_t, int8_t, etc.</p>
</blockquote>

<ul>
<li>Conclusions and future work</li>
</ul>

<blockquote>
<p>The port of NetBSD to AMD's x86-64 architecture was done in six weeks, which confirms NetBSD's reputation as being a very portable operating system. One week was spent setting up the cross-toolchain and reading the x86-64 specifications, three weeks were spent writing the kernel code, one week was spent writing the userspace code, and one week testing and debugging it all. No problems were observed in any of the machine-independent parts of the kernel during test runs; all (simulated) device drivers, file systems, etc, worked without modification.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSFullQuotaPerformanceIssue" target="_blank" rel="nofollow noopener">ZFS performance really does degrade as you approach quota limits</a></h3>

<blockquote>
<p>Every so often (currently monthly), there is an "OpenZFS leadership meeting". What this really means is 'lead developers from the various ZFS implementations get together to talk about things'. Announcements and meeting notes from these meetings get sent out to various mailing lists, including the ZFS on Linux ones. </p>
</blockquote>

<ul>
<li>In the September meeting notes, I read a very interesting (to me) agenda item: 

<ul>
<li>Relax quota semantics for improved performance (Allan Jude)</li>
<li>Problem: As you approach quotas, ZFS performance degrades.</li>
<li>Proposal: Can we have a property like quota-policy=strict or loose, where we can optionally allow ZFS to run over the quota as long as performance is not decreased.</li>
</ul></li>
</ul>

<blockquote>
<p>This is very interesting to me because of two reasons. First, in the past we have definitely seen significant problems on our OmniOS machines, both when an entire pool hits a quota limit and when a single filesystem hits a refquota limit. It's nice to know that this wasn't just our imagination and that there is a real issue here. Even better, it might someday be improved (and perhaps in a way that we can use at least some of the time).</p>

<p>Second, any number of people here run very close to and sometimes at the quota limits of both filesystems and pools, fundamentally because people aren't willing to buy more space. We have in the past assumed that this was relatively harmless and would only make people run out of space. If this is a known issue that causes serious performance degradation, well, I don't know if there's anything we can do, but at least we're going to have to think about it and maybe push harder at people. The first step will have to be learning the details of what's going on at the ZFS level to cause the slowdown. (It's apparently similar to what happens when the pool is almost full, but I don't know the specifics of that either.)</p>

<p>With that said, we don't seem to have seen clear adverse effects on our Linux fileservers, and they've definitely run into quota limits (repeatedly). One possible reason for this is that having lots of RAM and SSDs makes the effects mostly go away. Another possible reason is that we haven't been looking closely enough to see that we're experiencing global slowdowns that correlate to filesystems hitting quota limits. We've had issues before with somewhat subtle slowdowns that we didn't understand (cf), so I can't discount that we're having it happen again.</p>
</blockquote>

<hr>

<h3><a href="http://adrianchadd.blogspot.com/2019/09/fixing-up-ka9q-unix-or-neck-deep-in-30.html" target="_blank" rel="nofollow noopener">Fixing up KA9Q-unix, or "neck deep in 30 year old codebases.."</a></h3>

<blockquote>
<p>I'll preface this by saying - yes, I'm still neck deep in FreeBSD's wifi stack and 802.11ac support, but it turns out it's slow work to fix 15 year old locking related issues that worked fine on 11abg cards, kinda worked ok on 11n cards, and are terrible for these 11ac cards. I'll .. get there.</p>

<p>Anyhoo, I've finally been mucking around with AX.25 packet radio. I've been wanting to do this since I was a teenager and found out about its existence, but back in high school and .. well, until a few years ago really .. I didn't have my amateur radio licence. But, now I do, and I've done a bunch of other stuff with a bunch of other radios. The main stumbling block? All my devices are either Apple products or run FreeBSD - and none of them have useful AX.25 stacks. The main stacks of choice these days run on Linux, Windows or are a full hardware TNC.</p>

<p>So yes, I was avoiding hacking on AX.25 stuff because there wasn't a BSD compatible AX.25 stack. I'm 40 now, leave me be.</p>

<p>But! A few weeks ago I found that someone was still running a packet BBS out of San Francisco. And amazingly, his local node ran on FreeBSD! It turns out Jeremy (KK6JJJ) ported both an old copy of KA9Q and N0ARY-BBS to run on FreeBSD! Cool!</p>

<p>I grabbed my 2m radio (which is already cabled up for digital modes), compiled up his KA9Q port, figured out how to get it to speak to Direwolf, and .. ok. Well, it worked. Kinda.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener">HAMMER2 and fsck for review</a></h3>

<blockquote>
<p>HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there\u2019s now a fsck command, useful if you want a report of data validity rather than any manual repair process.</p>
</blockquote>

<hr>

<h3>[The return of startx(1) for non-root users <a href="https://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener">with some caveats</a></h3>

<p>Mark Kettenis (kettenis@) has recently committed changes which restore a certain amount of startx(1)/xinit(1) functionality for non-root users. The commit messages explain the situation:</p>

<pre><code>CVSROOT:    /cvs
Module name:    src
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:25:41

Modified files:
    etc/etc.amd64  : fbtab 
    etc/etc.arm64  : fbtab 
    etc/etc.hppa   : fbtab 
    etc/etc.i386   : fbtab 
    etc/etc.loongson: fbtab 
    etc/etc.luna88k: fbtab 
    etc/etc.macppc : fbtab 
    etc/etc.octeon : fbtab 
    etc/etc.sgi    : fbtab 
    etc/etc.sparc64: fbtab 

Log message:
Add ttyC4 to lost of devices to change when logging in on ttyC0 (and in some cases also the serial console) such that X can use it as its VT when running without root privileges.

ok jsg@, matthieu@
CVSROOT:    /cvs
Module name:    xenocara
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:31:08

Modified files:
    xserver/hw/xfree86/common: xf86AutoConfig.c 

Log message:
Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.

This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).

ok jsg@, matthieu@
</code></pre>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://bestasciitable.com/" target="_blank" rel="nofollow noopener">ASCII table and history.  Or, why does Ctrl+i insert a Tab in my terminal?</a></li>
<li><a href="https://sourcehut.org/blog/2019-09-12-sourcehut-makes-bsd-software-better/" target="_blank" rel="nofollow noopener">Sourcehut makes BSD software better</a></li>
<li><a href="https://github.com/LM-3/chaos" target="_blank" rel="nofollow noopener">Chaosnet for Unx</a></li>
<li><a href="https://cosine.blue/2019-09-06-kakoune.html" target="_blank" rel="nofollow noopener">The Vim-Inspired Editor with a Linguistic Twist</a></li>
<li><a href="https://papers.freebsd.org/2019/bsdcan/elisei-bhyvearm64_cpu_and_memory_virtualization_on_armv8.0_a/" target="_blank" rel="nofollow noopener">bhyvearm64: CPU and Memory Virtualization on Armv8.0-A</a></li>
<li><a href="https://www.youtube.com/watch?v=a2m56Yq-EIs" target="_blank" rel="nofollow noopener">DefCon25 - Are all BSD created Equally - A Survey of BSD Kernel vulnerabilities</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Tim - <a href="http://dpaste.com/1RCSFK7#wrap" target="_blank" rel="nofollow noopener">GSoC project ideas for pf rule syntax translation</a></li>
<li>Brad - <a href="http://dpaste.com/2SKA9YB#wrap" target="_blank" rel="nofollow noopener">Steam on FreeBSD</a></li>
<li>Ruslan - <a href="http://dpaste.com/0DQM3Q1" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report - Q2 2019</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0320.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>317: Bots Building Jails</title>
  <link>https://www.bsdnow.tv/317</link>
  <guid isPermaLink="false">e26d9711-a9ef-433e-bf8e-90d57030f3e7</guid>
  <pubDate>Thu, 26 Sep 2019 02:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e26d9711-a9ef-433e-bf8e-90d57030f3e7.mp3" length="37879559" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Setting up buildbot in FreeBSD jails, Set up a mail server with OpenSMTPD, Dovecot and Rspamd, OpenBSD amateur packet radio with HamBSD, DragonFlyBSD's HAMMER2 gets fsck, return of startx for users.</itunes:subtitle>
  <itunes:duration>52:36</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;Setting up buildbot in FreeBSD jails, Set up a mail server with OpenSMTPD, Dovecot and Rspamd, OpenBSD amateur packet radio with HamBSD, DragonFlyBSD's HAMMER2 gets fsck, return of startx for users.&lt;/p&gt;

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

&lt;h3&gt;&lt;a href="https://2019.eurobsdcon.org/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2019 Recap&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We’re back from EuroBSDcon in Lillehammer, Norway. It was a great conference with 212 people attending. 2 days of &lt;a href="https://2019.eurobsdcon.org/tutorial-speakers/" target="_blank" rel="nofollow noopener"&gt;tutorials&lt;/a&gt;, parallel to the &lt;a href="https://wiki.freebsd.org/DevSummit/201909" target="_blank" rel="nofollow noopener"&gt;FreeBSD Devsummit&lt;/a&gt;, followed by two days of &lt;a href="https://2019.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener"&gt;talks&lt;/a&gt;. Some speakers uploaded their slides to &lt;a href="https://papers.freebsd.org/2019/eurobsdcon/" target="_blank" rel="nofollow noopener"&gt;papers.freebsd.org&lt;/a&gt; already with more to come.&lt;/p&gt;

&lt;p&gt;The social event was also interesting. We visited an open air museum with building preserved from different time periods. In the older section they had a collection of farm buildings, a church originally built in the 1200s and relocated to the museum, and a school house. In the more modern area, they had houses from 1915, and each decade from 1930 to 1990, plus a “house of the future” as imagined in 2001. Many had open doors to allow you to tour the inside, and some were even “inhabited”. The latter fact gave a much more interactive experience and we could learn additional things about the history of that particular house. The town at the end included a general store, a post office, and more. Then, we all had a nice dinner together in the museum’s restaurant.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The opening keynote by Patricia Aas was very good. Her talk on embedded ethics, from her perspective as someone trying to defend the sanctity of Norwegian elections, and a former developer for the Opera web browser, provided a great deal of insight into the issues. Her points about how the tech community has unleashed a very complex digital work upon people with barely any technical literacy were well taken. Her stories of trying to explain the problems with involving computers in the election process to journalists and politicians struck a chord with many of us, who have had to deal with legislation written by those who do not truly understand the issues with technology.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener"&gt;Setting up buildbot in FreeBSD jails&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/" target="_blank" rel="nofollow noopener"&gt;Setting up a mail server with OpenSMTPD, Dovecot and Rspamd&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Self-hosting and encouraging smaller providers is for the greater good&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First of all, I was not clear enough about the political consequences of centralizing mail services at Big Mailer Corps.&lt;/p&gt;

&lt;p&gt;It doesn’t make sense for Random Joe, sharing kitten pictures with his family and friends, to build a personal mail infrastructure when multiple Big Mailer Corps offer “for free” an amazing quality of service. They provide him with an e-mail address that is immediately available and which will generally work reliably. It really doesn’t make sense for Random Joe not to go there, and particularly if even techies go there without hesitation, proving it is a sound choice.&lt;/p&gt;

&lt;p&gt;There is nothing wrong with Random Joes using a service that works.&lt;/p&gt;

&lt;p&gt;What is terribly wrong though is the centralization of a communication protocol in the hands of a few commercial companies, EVERY SINGLE ONE OF THEM coming from the same country (currently led by a lunatic who abuses power and probably suffers from NPD), EVERY SINGLE ONE OF THEM having been in the news and/or in a court for random/assorted “unpleasant” behaviors (privacy abuses, eavesdropping, monopoly abuse, sexual or professional harassment, you just name it…), and EVERY SINGLE ONE OF THEM growing user bases that far exceeds the total population of multiple countries combined.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="https://hambsd.org/" target="_blank" rel="nofollow noopener"&gt;The HamBSD project aims to bring amateur packet radio to OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The HamBSD project aims to bring amateur packet radio to OpenBSD, including support for TCP/IP over AX.25 and APRS tracking/digipeating in the base system.&lt;/p&gt;

&lt;p&gt;HamBSD will not provide a full AX.25 stack but instead only implement support for UI frames. There will be a focus on simplicity, security and readable code.&lt;/p&gt;

&lt;p&gt;The amateur radio community needs a reliable platform for packet radio for use in both leisure and emergency scenarios. It should be expected that the system is stable and resilient (but as yet it is neither).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD's HAMMER2 Gets Basic FSCK Support&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there’s now a fsck command, useful if you want a report of data validity rather than any manual repair process.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5554cc8b81fbfcfd347f50be3f3b1b9a54b871b" target="_blank" rel="nofollow noopener"&gt;commit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Add initial fsck support for HAMMER2, although CoW fs doesn't require fsck as a concept. Currently no repairing (no write), just verifying. &lt;/p&gt;

&lt;p&gt;Keep this as a separate command for now.&lt;br&gt;
&lt;a href="https://i.redd.it/vkdss0mtdpo31.jpg" target="_blank" rel="nofollow noopener"&gt;https://i.redd.it/vkdss0mtdpo31.jpg&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener"&gt;The return of startx for users&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.&lt;/p&gt;

&lt;p&gt;This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.nycbug.org:8080/pipermail/talk/2019-September/018046.html" target="_blank" rel="nofollow noopener"&gt;Ori Bernstein will be giving the October talk at NYCBUG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://calagator.org/events/1250476200" target="_blank" rel="nofollow noopener"&gt;BSD Pizza Night: 2019/09/26, 7–9PM, Portland, Oregon, USA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://knoxbug.org/2019-09-30" target="_blank" rel="nofollow noopener"&gt;Nick Wolff : Home Lab Show &amp;amp; Tell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=eWkCjj4_xsk" target="_blank" rel="nofollow noopener"&gt;Installing the Lumina Desktop in DragonflyBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/09/20/23519.html" target="_blank" rel="nofollow noopener"&gt;dhcpcd 8.0.6 added&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;Bruce - &lt;a href="http://dpaste.com/15ABRRB#wrap" target="_blank" rel="nofollow noopener"&gt;FOSDEM videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lars - &lt;a href="http://dpaste.com/1X9FEJJ" target="_blank" rel="nofollow noopener"&gt;Super Cluster of BSD on Rock64Pr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Madhukar - &lt;a href="http://dpaste.com/0TWF1NB#wrap" target="_blank" rel="nofollow noopener"&gt;Question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0317.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, buildbot, jails, opensmtp, dovecot, rspamd, mail, mailserver, amateur radio, amateur packet radio, packet radio, hammer2, filesystem, fsck, file system check, startx</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Setting up buildbot in FreeBSD jails, Set up a mail server with OpenSMTPD, Dovecot and Rspamd, OpenBSD amateur packet radio with HamBSD, DragonFlyBSD's HAMMER2 gets fsck, return of startx for users.</p>

<h2>Headlines</h2>

<h3><a href="https://2019.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDcon 2019 Recap</a></h3>

<blockquote>
<p>We’re back from EuroBSDcon in Lillehammer, Norway. It was a great conference with 212 people attending. 2 days of <a href="https://2019.eurobsdcon.org/tutorial-speakers/" target="_blank" rel="nofollow noopener">tutorials</a>, parallel to the <a href="https://wiki.freebsd.org/DevSummit/201909" target="_blank" rel="nofollow noopener">FreeBSD Devsummit</a>, followed by two days of <a href="https://2019.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener">talks</a>. Some speakers uploaded their slides to <a href="https://papers.freebsd.org/2019/eurobsdcon/" target="_blank" rel="nofollow noopener">papers.freebsd.org</a> already with more to come.</p>

<p>The social event was also interesting. We visited an open air museum with building preserved from different time periods. In the older section they had a collection of farm buildings, a church originally built in the 1200s and relocated to the museum, and a school house. In the more modern area, they had houses from 1915, and each decade from 1930 to 1990, plus a “house of the future” as imagined in 2001. Many had open doors to allow you to tour the inside, and some were even “inhabited”. The latter fact gave a much more interactive experience and we could learn additional things about the history of that particular house. The town at the end included a general store, a post office, and more. Then, we all had a nice dinner together in the museum’s restaurant.</p>
</blockquote>

<ul>
<li>The opening keynote by Patricia Aas was very good. Her talk on embedded ethics, from her perspective as someone trying to defend the sanctity of Norwegian elections, and a former developer for the Opera web browser, provided a great deal of insight into the issues. Her points about how the tech community has unleashed a very complex digital work upon people with barely any technical literacy were well taken. Her stories of trying to explain the problems with involving computers in the election process to journalists and politicians struck a chord with many of us, who have had to deal with legislation written by those who do not truly understand the issues with technology.</li>
</ul>

<hr>

<h3><a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">Setting up buildbot in FreeBSD jails</a></h3>

<blockquote>
<p>In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.</p>
</blockquote>

<hr>

<h3><a href="https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/" target="_blank" rel="nofollow noopener">Setting up a mail server with OpenSMTPD, Dovecot and Rspamd</a></h3>

<ul>
<li>Self-hosting and encouraging smaller providers is for the greater good</li>
</ul>

<blockquote>
<p>First of all, I was not clear enough about the political consequences of centralizing mail services at Big Mailer Corps.</p>

<p>It doesn’t make sense for Random Joe, sharing kitten pictures with his family and friends, to build a personal mail infrastructure when multiple Big Mailer Corps offer “for free” an amazing quality of service. They provide him with an e-mail address that is immediately available and which will generally work reliably. It really doesn’t make sense for Random Joe not to go there, and particularly if even techies go there without hesitation, proving it is a sound choice.</p>

<p>There is nothing wrong with Random Joes using a service that works.</p>

<p>What is terribly wrong though is the centralization of a communication protocol in the hands of a few commercial companies, EVERY SINGLE ONE OF THEM coming from the same country (currently led by a lunatic who abuses power and probably suffers from NPD), EVERY SINGLE ONE OF THEM having been in the news and/or in a court for random/assorted “unpleasant” behaviors (privacy abuses, eavesdropping, monopoly abuse, sexual or professional harassment, you just name it…), and EVERY SINGLE ONE OF THEM growing user bases that far exceeds the total population of multiple countries combined.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hambsd.org/" target="_blank" rel="nofollow noopener">The HamBSD project aims to bring amateur packet radio to OpenBSD</a></h3>

<blockquote>
<p>The HamBSD project aims to bring amateur packet radio to OpenBSD, including support for TCP/IP over AX.25 and APRS tracking/digipeating in the base system.</p>

<p>HamBSD will not provide a full AX.25 stack but instead only implement support for UI frames. There will be a focus on simplicity, security and readable code.</p>

<p>The amateur radio community needs a reliable platform for packet radio for use in both leisure and emergency scenarios. It should be expected that the system is stable and resilient (but as yet it is neither).</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener">DragonFlyBSD's HAMMER2 Gets Basic FSCK Support</a></h3>

<blockquote>
<p>HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there’s now a fsck command, useful if you want a report of data validity rather than any manual repair process.</p>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5554cc8b81fbfcfd347f50be3f3b1b9a54b871b" target="_blank" rel="nofollow noopener">commit</a></li>
</ul>

<blockquote>
<p>Add initial fsck support for HAMMER2, although CoW fs doesn't require fsck as a concept. Currently no repairing (no write), just verifying. </p>

<p>Keep this as a separate command for now.<br>
<a href="https://i.redd.it/vkdss0mtdpo31.jpg" target="_blank" rel="nofollow noopener">https://i.redd.it/vkdss0mtdpo31.jpg</a></p>

<hr>
</blockquote>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener">The return of startx for users</a></h3>

<blockquote>
<p>Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.</p>

<p>This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.nycbug.org:8080/pipermail/talk/2019-September/018046.html" target="_blank" rel="nofollow noopener">Ori Bernstein will be giving the October talk at NYCBUG</a></li>
<li><a href="http://calagator.org/events/1250476200" target="_blank" rel="nofollow noopener">BSD Pizza Night: 2019/09/26, 7–9PM, Portland, Oregon, USA</a></li>
<li><a href="http://knoxbug.org/2019-09-30" target="_blank" rel="nofollow noopener">Nick Wolff : Home Lab Show &amp; Tell</a></li>
<li><a href="https://www.youtube.com/watch?v=eWkCjj4_xsk" target="_blank" rel="nofollow noopener">Installing the Lumina Desktop in DragonflyBSD</a></li>
<li><a href="https://www.dragonflydigest.com/2019/09/20/23519.html" target="_blank" rel="nofollow noopener">dhcpcd 8.0.6 added</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bruce - <a href="http://dpaste.com/15ABRRB#wrap" target="_blank" rel="nofollow noopener">FOSDEM videos</a></li>
<li>Lars - <a href="http://dpaste.com/1X9FEJJ" target="_blank" rel="nofollow noopener">Super Cluster of BSD on Rock64Pr</a></li>
<li>Madhukar - <a href="http://dpaste.com/0TWF1NB#wrap" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0317.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Setting up buildbot in FreeBSD jails, Set up a mail server with OpenSMTPD, Dovecot and Rspamd, OpenBSD amateur packet radio with HamBSD, DragonFlyBSD's HAMMER2 gets fsck, return of startx for users.</p>

<h2>Headlines</h2>

<h3><a href="https://2019.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDcon 2019 Recap</a></h3>

<blockquote>
<p>We’re back from EuroBSDcon in Lillehammer, Norway. It was a great conference with 212 people attending. 2 days of <a href="https://2019.eurobsdcon.org/tutorial-speakers/" target="_blank" rel="nofollow noopener">tutorials</a>, parallel to the <a href="https://wiki.freebsd.org/DevSummit/201909" target="_blank" rel="nofollow noopener">FreeBSD Devsummit</a>, followed by two days of <a href="https://2019.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener">talks</a>. Some speakers uploaded their slides to <a href="https://papers.freebsd.org/2019/eurobsdcon/" target="_blank" rel="nofollow noopener">papers.freebsd.org</a> already with more to come.</p>

<p>The social event was also interesting. We visited an open air museum with building preserved from different time periods. In the older section they had a collection of farm buildings, a church originally built in the 1200s and relocated to the museum, and a school house. In the more modern area, they had houses from 1915, and each decade from 1930 to 1990, plus a “house of the future” as imagined in 2001. Many had open doors to allow you to tour the inside, and some were even “inhabited”. The latter fact gave a much more interactive experience and we could learn additional things about the history of that particular house. The town at the end included a general store, a post office, and more. Then, we all had a nice dinner together in the museum’s restaurant.</p>
</blockquote>

<ul>
<li>The opening keynote by Patricia Aas was very good. Her talk on embedded ethics, from her perspective as someone trying to defend the sanctity of Norwegian elections, and a former developer for the Opera web browser, provided a great deal of insight into the issues. Her points about how the tech community has unleashed a very complex digital work upon people with barely any technical literacy were well taken. Her stories of trying to explain the problems with involving computers in the election process to journalists and politicians struck a chord with many of us, who have had to deal with legislation written by those who do not truly understand the issues with technology.</li>
</ul>

<hr>

<h3><a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">Setting up buildbot in FreeBSD jails</a></h3>

<blockquote>
<p>In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.</p>
</blockquote>

<hr>

<h3><a href="https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/" target="_blank" rel="nofollow noopener">Setting up a mail server with OpenSMTPD, Dovecot and Rspamd</a></h3>

<ul>
<li>Self-hosting and encouraging smaller providers is for the greater good</li>
</ul>

<blockquote>
<p>First of all, I was not clear enough about the political consequences of centralizing mail services at Big Mailer Corps.</p>

<p>It doesn’t make sense for Random Joe, sharing kitten pictures with his family and friends, to build a personal mail infrastructure when multiple Big Mailer Corps offer “for free” an amazing quality of service. They provide him with an e-mail address that is immediately available and which will generally work reliably. It really doesn’t make sense for Random Joe not to go there, and particularly if even techies go there without hesitation, proving it is a sound choice.</p>

<p>There is nothing wrong with Random Joes using a service that works.</p>

<p>What is terribly wrong though is the centralization of a communication protocol in the hands of a few commercial companies, EVERY SINGLE ONE OF THEM coming from the same country (currently led by a lunatic who abuses power and probably suffers from NPD), EVERY SINGLE ONE OF THEM having been in the news and/or in a court for random/assorted “unpleasant” behaviors (privacy abuses, eavesdropping, monopoly abuse, sexual or professional harassment, you just name it…), and EVERY SINGLE ONE OF THEM growing user bases that far exceeds the total population of multiple countries combined.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hambsd.org/" target="_blank" rel="nofollow noopener">The HamBSD project aims to bring amateur packet radio to OpenBSD</a></h3>

<blockquote>
<p>The HamBSD project aims to bring amateur packet radio to OpenBSD, including support for TCP/IP over AX.25 and APRS tracking/digipeating in the base system.</p>

<p>HamBSD will not provide a full AX.25 stack but instead only implement support for UI frames. There will be a focus on simplicity, security and readable code.</p>

<p>The amateur radio community needs a reliable platform for packet radio for use in both leisure and emergency scenarios. It should be expected that the system is stable and resilient (but as yet it is neither).</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener">DragonFlyBSD's HAMMER2 Gets Basic FSCK Support</a></h3>

<blockquote>
<p>HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there’s now a fsck command, useful if you want a report of data validity rather than any manual repair process.</p>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5554cc8b81fbfcfd347f50be3f3b1b9a54b871b" target="_blank" rel="nofollow noopener">commit</a></li>
</ul>

<blockquote>
<p>Add initial fsck support for HAMMER2, although CoW fs doesn't require fsck as a concept. Currently no repairing (no write), just verifying. </p>

<p>Keep this as a separate command for now.<br>
<a href="https://i.redd.it/vkdss0mtdpo31.jpg" target="_blank" rel="nofollow noopener">https://i.redd.it/vkdss0mtdpo31.jpg</a></p>

<hr>
</blockquote>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener">The return of startx for users</a></h3>

<blockquote>
<p>Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.</p>

<p>This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.nycbug.org:8080/pipermail/talk/2019-September/018046.html" target="_blank" rel="nofollow noopener">Ori Bernstein will be giving the October talk at NYCBUG</a></li>
<li><a href="http://calagator.org/events/1250476200" target="_blank" rel="nofollow noopener">BSD Pizza Night: 2019/09/26, 7–9PM, Portland, Oregon, USA</a></li>
<li><a href="http://knoxbug.org/2019-09-30" target="_blank" rel="nofollow noopener">Nick Wolff : Home Lab Show &amp; Tell</a></li>
<li><a href="https://www.youtube.com/watch?v=eWkCjj4_xsk" target="_blank" rel="nofollow noopener">Installing the Lumina Desktop in DragonflyBSD</a></li>
<li><a href="https://www.dragonflydigest.com/2019/09/20/23519.html" target="_blank" rel="nofollow noopener">dhcpcd 8.0.6 added</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bruce - <a href="http://dpaste.com/15ABRRB#wrap" target="_blank" rel="nofollow noopener">FOSDEM videos</a></li>
<li>Lars - <a href="http://dpaste.com/1X9FEJJ" target="_blank" rel="nofollow noopener">Super Cluster of BSD on Rock64Pr</a></li>
<li>Madhukar - <a href="http://dpaste.com/0TWF1NB#wrap" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0317.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>310: My New Free NAS</title>
  <link>https://www.bsdnow.tv/310</link>
  <guid isPermaLink="false">11bc3886-8630-42e4-8ce6-a97cfce82f4d</guid>
  <pubDate>Wed, 07 Aug 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/11bc3886-8630-42e4-8ce6-a97cfce82f4d.mp3" length="34679977" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>
OPNsense 19.7.1 is out, ZFS on Linux still has annoying issues with ARC size, Hammer2 is now default, NetBSD audio – an application perspective, new FreeNAS Mini, and more. </itunes:subtitle>
  <itunes:duration>48:09</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;OPNsense 19.7.1 is out, ZFS on Linux still has annoying issues with ARC size, Hammer2 is now default, NetBSD audio – an application perspective, new FreeNAS Mini, and more. &lt;/p&gt;

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

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-19-7-1-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 19.7.1&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We do not wish to keep you from enjoying your summer time, but this&lt;br&gt;
is a recommended security update enriched with reliability fixes for the&lt;br&gt;
new 19.7 series.  Of special note are performance improvements as well&lt;br&gt;
as a fix for a longstanding NAT before IPsec limitation.&lt;/p&gt;

&lt;p&gt;Full patch notes:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;system: do not create automatic copies of existing gateways&lt;/li&gt;
&lt;li&gt;system: do not translate empty tunables descriptions&lt;/li&gt;
&lt;li&gt;system: remove unwanted form action tags&lt;/li&gt;
&lt;li&gt;system: do not include Syslog-ng in rc.freebsd handler&lt;/li&gt;
&lt;li&gt;system: fix manual system log stop/start/restart&lt;/li&gt;
&lt;li&gt;system: scoped IPv6 "%" could confuse mwexecf(), use plain mwexec() instead&lt;/li&gt;
&lt;li&gt;system: allow curl-based downloads to use both trusted and local authorities&lt;/li&gt;
&lt;li&gt;system: fix group privilege print and correctly redirect after edit&lt;/li&gt;
&lt;li&gt;system: use cached address list in referrer check&lt;/li&gt;
&lt;li&gt;system: fix Syslog-ng search stats&lt;/li&gt;
&lt;li&gt;firewall: HTML-escape dynamic entries to display aliases&lt;/li&gt;
&lt;li&gt;firewall: display correct IP version in automatic rules&lt;/li&gt;
&lt;li&gt;firewall: fix a warning while reading empty outbound rules configuration&lt;/li&gt;
&lt;li&gt;firewall: skip illegal log lines in live log&lt;/li&gt;
&lt;li&gt;interfaces: performance improvements for configurations with hundreds of interfaces&lt;/li&gt;
&lt;li&gt;reporting: performance improvements for Python 3 NetFlow aggregator rewrite&lt;/li&gt;
&lt;li&gt;dhcp: move advanced router advertisement options to correct config section&lt;/li&gt;
&lt;li&gt;ipsec: replace global array access with function to ensure side-effect free boot&lt;/li&gt;
&lt;li&gt;ipsec: change DPD action on start to "dpdaction = restart"&lt;/li&gt;
&lt;li&gt;ipsec: remove already default "dpdaction = none" if not set&lt;/li&gt;
&lt;li&gt;ipsec: use interface IP address in local ID when doing NAT before IPsec&lt;/li&gt;
&lt;li&gt;web proxy: fix database reset for Squid 4 by replacing use of ssl_crtd with security_file_certgen&lt;/li&gt;
&lt;li&gt;plugins: os-acme-client 1.24[1]&lt;/li&gt;
&lt;li&gt;plugins: os-bind 1.6[2]&lt;/li&gt;
&lt;li&gt;plugins: os-dnscrypt-proxy 1.5[3]&lt;/li&gt;
&lt;li&gt;plugins: os-frr now restricts characters BGP prefix-list and route-maps[4]&lt;/li&gt;
&lt;li&gt;plugins: os-google-cloud-sdk 1.0[5]&lt;/li&gt;
&lt;li&gt;ports: curl 7.65.3[6]&lt;/li&gt;
&lt;li&gt;ports: monit 5.26.0[7]&lt;/li&gt;
&lt;li&gt;ports: openssh 8.0p1[8]&lt;/li&gt;
&lt;li&gt;ports: php 7.2.20[9]&lt;/li&gt;
&lt;li&gt;ports: python 3.7.4[10]&lt;/li&gt;
&lt;li&gt;ports: sqlite 3.29.0[11]&lt;/li&gt;
&lt;li&gt;ports: squid 4.8[12]&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Stay safe and hydrated, Your OPNsense team&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxARCShrinkage" target="_blank" rel="nofollow noopener"&gt;ZFS on Linux still has annoying issues with ARC size&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;One of the frustrating things about operating ZFS on Linux is that the ARC size is critical but ZFS's auto-tuning of it is opaque and apparently prone to malfunctions, where your ARC will mysteriously shrink drastically and then stick there.&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Linux's regular filesystem disk cache is very predictable; if you do disk IO, the cache will relentlessly grow to use all of your free memory. This sometimes disconcerts people when free reports that there's very little memory actually free, but at least you're getting value from your RAM. This is so reliable and regular that we generally don't think about 'is my system going to use all of my RAM as a disk cache', because the answer is always 'yes'. (The general filesystem cache is also called the page cache.)&lt;/p&gt;

&lt;p&gt;This is unfortunately not the case with the ZFS ARC in ZFS on Linux (and it wasn't necessarily the case even on Solaris). ZFS has both a current size and a 'target size' for the ARC (called 'c' in ZFS statistics). When your system boots this target size starts out as the maximum allowed size for the ARC, but various events afterward can cause it to be reduced (which obviously limits the size of your ARC, since that's its purpose). In practice, this reduction in the target size is both pretty sticky and rather mysterious (as ZFS on Linux doesn't currently expose enough statistics to tell why your ARC target size shrunk in any particular case).&lt;/p&gt;

&lt;p&gt;The net effect is that the ZFS ARC is not infrequently quite shy and hesitant about using memory, in stark contrast to Linux's normal filesystem cache. The default maximum ARC size starts out as only half of your RAM (unlike the regular filesystem cache, which will use all of it), and then it shrinks from there, sometimes very significantly, and once shrunk it only recovers slowly (if at all).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-June/718989.html" target="_blank" rel="nofollow noopener"&gt;Hammer2 is now default&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;commit a49112761c919d42d405ec10252eb0553662c824
Author: Matthew Dillon &amp;lt;dillon at apollo.backplane.com&amp;gt;
Date:   Mon Jun 10 17:53:46 2019 -0700

    installer - Default to HAMMER2

    * Change the installer default from HAMMER1 to HAMMER2.

    * Adjust the nrelease build to print the location of the image files
      when it finishes.

Summary of changes:
 nrelease/Makefile                          |  2 +-
 usr.sbin/installer/dfuibe_installer/flow.c | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a49112761c919d42d405ec10252eb0553662c824
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://netbsd.org/gallery/presentations/nia/netbsd-audio/" target="_blank" rel="nofollow noopener"&gt;NetBSD audio – an application perspective&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD audio – an application perspective ... or, "doing it natively, because we can"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;audio options for NetBSD in pkgsrc&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use NetBSD native audio (sun audio/audioio.h)&lt;/li&gt;
&lt;li&gt;Or OSS emulation layer: Basically a wrapper around sun audio in the kernel. Incomplete and old version, but works for simple stuff&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Many many abstraction layers available:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenAL-Soft&lt;/li&gt;
&lt;li&gt;alsa-lib (config file required)&lt;/li&gt;
&lt;li&gt;libao, GStreamer (plugins!)&lt;/li&gt;
&lt;li&gt;PortAudio, SDL&lt;/li&gt;
&lt;li&gt;PulseAudio, JACK&lt;/li&gt;
&lt;li&gt;... lots more!? some obsolete stuff (esd, nas?)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Advantages of using NetBSD audio directly&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Low latency, low CPU usage: Abstraction layers differ in latency (SDL2 vs ALSA/OpenAL)&lt;/li&gt;
&lt;li&gt;Query device information: Is /dev/audio1 a USB microphone or another sound card?&lt;/li&gt;
&lt;li&gt;Avoid bugs from excessive layering&lt;/li&gt;
&lt;li&gt;Nice API, well documented: [nia note: I had no idea how to write audio code. I read a man page and now I do.]&lt;/li&gt;
&lt;li&gt;Your code might work on illumos too&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;[nia note: SDL2 seems very sensitive to the blk_ms sysctl being high or low, with other implementations there seems to be a less noticable difference. I don't know why.]&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/new-freenas-mini-models-release-pr/" target="_blank" rel="nofollow noopener"&gt;New FreeNAS Mini&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Two new FreeNAS Mini systems join the very popular FreeNAS Mini and Mini XL:&lt;/p&gt;

&lt;p&gt;FreeNAS Mini XL+: This powerful 10 Bay platform (8x 3.5” and 1x 2.5” hot-swap, 1x 2.5” internal) includes the latest, compact server technology and provides dual 10GbE ports, 8 CPU cores and 32 GB RAM for high performance workgroups. The Mini XL+ scales beyond 100TB and is ideal for very demanding applications, including hosting virtual machines and multimedia editing. Starting at $1499, the Mini XL+ configured with cache SSD and 80 TB capacity is $4299, and consumes about 100 Watts.&lt;/p&gt;

&lt;p&gt;FreeNAS Mini E: This cost-effective 4 Bay platform provides the resources required for SOHO use with quad GbE ports and 8 GB of RAM. The Mini E is ideal for file sharing, streaming and transcoding video at 1080p. Starting at $749, the Mini E configured with 8 TB capacity is $999, and consumes about 36 Watts.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/source-changes/2019/07/30/msg107671.html" target="_blank" rel="nofollow noopener"&gt;Welcome to NetBSD 9.99.1!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.snailtext.com/posts/berkeley-smorgasbord-part-2.html" target="_blank" rel="nofollow noopener"&gt;Berkeley smorgasbord — part II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Brt41xnMZqo&amp;amp;list=PLuJmmKtsV1dOTmlImlD9U5j1P1rLxS2V8&amp;amp;index=20&amp;amp;t=0s" target="_blank" rel="nofollow noopener"&gt;dtracing postgres&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://project-trident.org/post/2019-07-30_19.07-u1_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident 19.07-U1 now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.devprojournal.com/technology-trends/operating-systems/need-a-secure-operating-system-take-a-look-at-openbsd/" target="_blank" rel="nofollow noopener"&gt;Need a Secure Operating System? Take a Look at OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;Jeff - &lt;a href="http://dpaste.com/2AT7JGP#wrap" target="_blank" rel="nofollow noopener"&gt;OpenZFS Port Testing Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/1R170D7" target="_blank" rel="nofollow noopener"&gt;Best Practices for Custom Ports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Michael - &lt;a href="http://dpaste.com/0CERP6R" target="_blank" rel="nofollow noopener"&gt;Little Correction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0310.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, opnsense, zfs, arc, hammer2, audio, freenas, mini</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OPNsense 19.7.1 is out, ZFS on Linux still has annoying issues with ARC size, Hammer2 is now default, NetBSD audio – an application perspective, new FreeNAS Mini, and more. </p>

<h2>Headlines</h2>

<h3><a href="https://opnsense.org/opnsense-19-7-1-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.1</a></h3>

<blockquote>
<p>We do not wish to keep you from enjoying your summer time, but this<br>
is a recommended security update enriched with reliability fixes for the<br>
new 19.7 series.  Of special note are performance improvements as well<br>
as a fix for a longstanding NAT before IPsec limitation.</p>

<p>Full patch notes:</p>
</blockquote>

<ul>
<li>system: do not create automatic copies of existing gateways</li>
<li>system: do not translate empty tunables descriptions</li>
<li>system: remove unwanted form action tags</li>
<li>system: do not include Syslog-ng in rc.freebsd handler</li>
<li>system: fix manual system log stop/start/restart</li>
<li>system: scoped IPv6 "%" could confuse mwexecf(), use plain mwexec() instead</li>
<li>system: allow curl-based downloads to use both trusted and local authorities</li>
<li>system: fix group privilege print and correctly redirect after edit</li>
<li>system: use cached address list in referrer check</li>
<li>system: fix Syslog-ng search stats</li>
<li>firewall: HTML-escape dynamic entries to display aliases</li>
<li>firewall: display correct IP version in automatic rules</li>
<li>firewall: fix a warning while reading empty outbound rules configuration</li>
<li>firewall: skip illegal log lines in live log</li>
<li>interfaces: performance improvements for configurations with hundreds of interfaces</li>
<li>reporting: performance improvements for Python 3 NetFlow aggregator rewrite</li>
<li>dhcp: move advanced router advertisement options to correct config section</li>
<li>ipsec: replace global array access with function to ensure side-effect free boot</li>
<li>ipsec: change DPD action on start to "dpdaction = restart"</li>
<li>ipsec: remove already default "dpdaction = none" if not set</li>
<li>ipsec: use interface IP address in local ID when doing NAT before IPsec</li>
<li>web proxy: fix database reset for Squid 4 by replacing use of ssl_crtd with security_file_certgen</li>
<li>plugins: os-acme-client 1.24[1]</li>
<li>plugins: os-bind 1.6[2]</li>
<li>plugins: os-dnscrypt-proxy 1.5[3]</li>
<li>plugins: os-frr now restricts characters BGP prefix-list and route-maps[4]</li>
<li>plugins: os-google-cloud-sdk 1.0[5]</li>
<li>ports: curl 7.65.3[6]</li>
<li>ports: monit 5.26.0[7]</li>
<li>ports: openssh 8.0p1[8]</li>
<li>ports: php 7.2.20[9]</li>
<li>ports: python 3.7.4[10]</li>
<li>ports: sqlite 3.29.0[11]</li>
<li>ports: squid 4.8[12]</li>
</ul>

<blockquote>
<p>Stay safe and hydrated, Your OPNsense team</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxARCShrinkage" target="_blank" rel="nofollow noopener">ZFS on Linux still has annoying issues with ARC size</a></h3>

<p><code>One of the frustrating things about operating ZFS on Linux is that the ARC size is critical but ZFS's auto-tuning of it is opaque and apparently prone to malfunctions, where your ARC will mysteriously shrink drastically and then stick there.</code></p>

<blockquote>
<p>Linux's regular filesystem disk cache is very predictable; if you do disk IO, the cache will relentlessly grow to use all of your free memory. This sometimes disconcerts people when free reports that there's very little memory actually free, but at least you're getting value from your RAM. This is so reliable and regular that we generally don't think about 'is my system going to use all of my RAM as a disk cache', because the answer is always 'yes'. (The general filesystem cache is also called the page cache.)</p>

<p>This is unfortunately not the case with the ZFS ARC in ZFS on Linux (and it wasn't necessarily the case even on Solaris). ZFS has both a current size and a 'target size' for the ARC (called 'c' in ZFS statistics). When your system boots this target size starts out as the maximum allowed size for the ARC, but various events afterward can cause it to be reduced (which obviously limits the size of your ARC, since that's its purpose). In practice, this reduction in the target size is both pretty sticky and rather mysterious (as ZFS on Linux doesn't currently expose enough statistics to tell why your ARC target size shrunk in any particular case).</p>

<p>The net effect is that the ZFS ARC is not infrequently quite shy and hesitant about using memory, in stark contrast to Linux's normal filesystem cache. The default maximum ARC size starts out as only half of your RAM (unlike the regular filesystem cache, which will use all of it), and then it shrinks from there, sometimes very significantly, and once shrunk it only recovers slowly (if at all).</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-June/718989.html" target="_blank" rel="nofollow noopener">Hammer2 is now default</a></h3>

<pre><code>commit a49112761c919d42d405ec10252eb0553662c824
Author: Matthew Dillon &lt;dillon at apollo.backplane.com&gt;
Date:   Mon Jun 10 17:53:46 2019 -0700

    installer - Default to HAMMER2

    * Change the installer default from HAMMER1 to HAMMER2.

    * Adjust the nrelease build to print the location of the image files
      when it finishes.

Summary of changes:
 nrelease/Makefile                          |  2 +-
 usr.sbin/installer/dfuibe_installer/flow.c | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a49112761c919d42d405ec10252eb0553662c824
</code></pre>

<hr>

<h3><a href="https://netbsd.org/gallery/presentations/nia/netbsd-audio/" target="_blank" rel="nofollow noopener">NetBSD audio – an application perspective</a></h3>

<blockquote>
<p>NetBSD audio – an application perspective ... or, "doing it natively, because we can"</p>
</blockquote>

<ul>
<li><p>audio options for NetBSD in pkgsrc</p>

<ul>
<li>Use NetBSD native audio (sun audio/audioio.h)</li>
<li>Or OSS emulation layer: Basically a wrapper around sun audio in the kernel. Incomplete and old version, but works for simple stuff</li>
</ul></li>
<li><p>Many many abstraction layers available:</p>

<ul>
<li>OpenAL-Soft</li>
<li>alsa-lib (config file required)</li>
<li>libao, GStreamer (plugins!)</li>
<li>PortAudio, SDL</li>
<li>PulseAudio, JACK</li>
<li>... lots more!? some obsolete stuff (esd, nas?)</li>
</ul></li>
<li><p>Advantages of using NetBSD audio directly</p>

<ul>
<li>Low latency, low CPU usage: Abstraction layers differ in latency (SDL2 vs ALSA/OpenAL)</li>
<li>Query device information: Is /dev/audio1 a USB microphone or another sound card?</li>
<li>Avoid bugs from excessive layering</li>
<li>Nice API, well documented: [nia note: I had no idea how to write audio code. I read a man page and now I do.]</li>
<li>Your code might work on illumos too</li>
</ul></li>
<li><p>[nia note: SDL2 seems very sensitive to the blk_ms sysctl being high or low, with other implementations there seems to be a less noticable difference. I don't know why.]</p></li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/new-freenas-mini-models-release-pr/" target="_blank" rel="nofollow noopener">New FreeNAS Mini</a></h3>

<blockquote>
<p>Two new FreeNAS Mini systems join the very popular FreeNAS Mini and Mini XL:</p>

<p>FreeNAS Mini XL+: This powerful 10 Bay platform (8x 3.5” and 1x 2.5” hot-swap, 1x 2.5” internal) includes the latest, compact server technology and provides dual 10GbE ports, 8 CPU cores and 32 GB RAM for high performance workgroups. The Mini XL+ scales beyond 100TB and is ideal for very demanding applications, including hosting virtual machines and multimedia editing. Starting at $1499, the Mini XL+ configured with cache SSD and 80 TB capacity is $4299, and consumes about 100 Watts.</p>

<p>FreeNAS Mini E: This cost-effective 4 Bay platform provides the resources required for SOHO use with quad GbE ports and 8 GB of RAM. The Mini E is ideal for file sharing, streaming and transcoding video at 1080p. Starting at $749, the Mini E configured with 8 TB capacity is $999, and consumes about 36 Watts.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mail-index.netbsd.org/source-changes/2019/07/30/msg107671.html" target="_blank" rel="nofollow noopener">Welcome to NetBSD 9.99.1!</a></li>
<li><a href="http://blog.snailtext.com/posts/berkeley-smorgasbord-part-2.html" target="_blank" rel="nofollow noopener">Berkeley smorgasbord — part II</a></li>
<li><a href="https://www.youtube.com/watch?v=Brt41xnMZqo&amp;list=PLuJmmKtsV1dOTmlImlD9U5j1P1rLxS2V8&amp;index=20&amp;t=0s" target="_blank" rel="nofollow noopener">dtracing postgres</a></li>
<li><a href="https://project-trident.org/post/2019-07-30_19.07-u1_available/" target="_blank" rel="nofollow noopener">Project Trident 19.07-U1 now available</a></li>
<li><a href="https://www.devprojournal.com/technology-trends/operating-systems/need-a-secure-operating-system-take-a-look-at-openbsd/" target="_blank" rel="nofollow noopener">Need a Secure Operating System? Take a Look at OpenBSD</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jeff - <a href="http://dpaste.com/2AT7JGP#wrap" target="_blank" rel="nofollow noopener">OpenZFS Port Testing Feedback</a></li>
<li>Malcolm - <a href="http://dpaste.com/1R170D7" target="_blank" rel="nofollow noopener">Best Practices for Custom Ports</a></li>
<li>Michael - <a href="http://dpaste.com/0CERP6R" target="_blank" rel="nofollow noopener">Little Correction</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0310.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OPNsense 19.7.1 is out, ZFS on Linux still has annoying issues with ARC size, Hammer2 is now default, NetBSD audio – an application perspective, new FreeNAS Mini, and more. </p>

<h2>Headlines</h2>

<h3><a href="https://opnsense.org/opnsense-19-7-1-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.1</a></h3>

<blockquote>
<p>We do not wish to keep you from enjoying your summer time, but this<br>
is a recommended security update enriched with reliability fixes for the<br>
new 19.7 series.  Of special note are performance improvements as well<br>
as a fix for a longstanding NAT before IPsec limitation.</p>

<p>Full patch notes:</p>
</blockquote>

<ul>
<li>system: do not create automatic copies of existing gateways</li>
<li>system: do not translate empty tunables descriptions</li>
<li>system: remove unwanted form action tags</li>
<li>system: do not include Syslog-ng in rc.freebsd handler</li>
<li>system: fix manual system log stop/start/restart</li>
<li>system: scoped IPv6 "%" could confuse mwexecf(), use plain mwexec() instead</li>
<li>system: allow curl-based downloads to use both trusted and local authorities</li>
<li>system: fix group privilege print and correctly redirect after edit</li>
<li>system: use cached address list in referrer check</li>
<li>system: fix Syslog-ng search stats</li>
<li>firewall: HTML-escape dynamic entries to display aliases</li>
<li>firewall: display correct IP version in automatic rules</li>
<li>firewall: fix a warning while reading empty outbound rules configuration</li>
<li>firewall: skip illegal log lines in live log</li>
<li>interfaces: performance improvements for configurations with hundreds of interfaces</li>
<li>reporting: performance improvements for Python 3 NetFlow aggregator rewrite</li>
<li>dhcp: move advanced router advertisement options to correct config section</li>
<li>ipsec: replace global array access with function to ensure side-effect free boot</li>
<li>ipsec: change DPD action on start to "dpdaction = restart"</li>
<li>ipsec: remove already default "dpdaction = none" if not set</li>
<li>ipsec: use interface IP address in local ID when doing NAT before IPsec</li>
<li>web proxy: fix database reset for Squid 4 by replacing use of ssl_crtd with security_file_certgen</li>
<li>plugins: os-acme-client 1.24[1]</li>
<li>plugins: os-bind 1.6[2]</li>
<li>plugins: os-dnscrypt-proxy 1.5[3]</li>
<li>plugins: os-frr now restricts characters BGP prefix-list and route-maps[4]</li>
<li>plugins: os-google-cloud-sdk 1.0[5]</li>
<li>ports: curl 7.65.3[6]</li>
<li>ports: monit 5.26.0[7]</li>
<li>ports: openssh 8.0p1[8]</li>
<li>ports: php 7.2.20[9]</li>
<li>ports: python 3.7.4[10]</li>
<li>ports: sqlite 3.29.0[11]</li>
<li>ports: squid 4.8[12]</li>
</ul>

<blockquote>
<p>Stay safe and hydrated, Your OPNsense team</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxARCShrinkage" target="_blank" rel="nofollow noopener">ZFS on Linux still has annoying issues with ARC size</a></h3>

<p><code>One of the frustrating things about operating ZFS on Linux is that the ARC size is critical but ZFS's auto-tuning of it is opaque and apparently prone to malfunctions, where your ARC will mysteriously shrink drastically and then stick there.</code></p>

<blockquote>
<p>Linux's regular filesystem disk cache is very predictable; if you do disk IO, the cache will relentlessly grow to use all of your free memory. This sometimes disconcerts people when free reports that there's very little memory actually free, but at least you're getting value from your RAM. This is so reliable and regular that we generally don't think about 'is my system going to use all of my RAM as a disk cache', because the answer is always 'yes'. (The general filesystem cache is also called the page cache.)</p>

<p>This is unfortunately not the case with the ZFS ARC in ZFS on Linux (and it wasn't necessarily the case even on Solaris). ZFS has both a current size and a 'target size' for the ARC (called 'c' in ZFS statistics). When your system boots this target size starts out as the maximum allowed size for the ARC, but various events afterward can cause it to be reduced (which obviously limits the size of your ARC, since that's its purpose). In practice, this reduction in the target size is both pretty sticky and rather mysterious (as ZFS on Linux doesn't currently expose enough statistics to tell why your ARC target size shrunk in any particular case).</p>

<p>The net effect is that the ZFS ARC is not infrequently quite shy and hesitant about using memory, in stark contrast to Linux's normal filesystem cache. The default maximum ARC size starts out as only half of your RAM (unlike the regular filesystem cache, which will use all of it), and then it shrinks from there, sometimes very significantly, and once shrunk it only recovers slowly (if at all).</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-June/718989.html" target="_blank" rel="nofollow noopener">Hammer2 is now default</a></h3>

<pre><code>commit a49112761c919d42d405ec10252eb0553662c824
Author: Matthew Dillon &lt;dillon at apollo.backplane.com&gt;
Date:   Mon Jun 10 17:53:46 2019 -0700

    installer - Default to HAMMER2

    * Change the installer default from HAMMER1 to HAMMER2.

    * Adjust the nrelease build to print the location of the image files
      when it finishes.

Summary of changes:
 nrelease/Makefile                          |  2 +-
 usr.sbin/installer/dfuibe_installer/flow.c | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a49112761c919d42d405ec10252eb0553662c824
</code></pre>

<hr>

<h3><a href="https://netbsd.org/gallery/presentations/nia/netbsd-audio/" target="_blank" rel="nofollow noopener">NetBSD audio – an application perspective</a></h3>

<blockquote>
<p>NetBSD audio – an application perspective ... or, "doing it natively, because we can"</p>
</blockquote>

<ul>
<li><p>audio options for NetBSD in pkgsrc</p>

<ul>
<li>Use NetBSD native audio (sun audio/audioio.h)</li>
<li>Or OSS emulation layer: Basically a wrapper around sun audio in the kernel. Incomplete and old version, but works for simple stuff</li>
</ul></li>
<li><p>Many many abstraction layers available:</p>

<ul>
<li>OpenAL-Soft</li>
<li>alsa-lib (config file required)</li>
<li>libao, GStreamer (plugins!)</li>
<li>PortAudio, SDL</li>
<li>PulseAudio, JACK</li>
<li>... lots more!? some obsolete stuff (esd, nas?)</li>
</ul></li>
<li><p>Advantages of using NetBSD audio directly</p>

<ul>
<li>Low latency, low CPU usage: Abstraction layers differ in latency (SDL2 vs ALSA/OpenAL)</li>
<li>Query device information: Is /dev/audio1 a USB microphone or another sound card?</li>
<li>Avoid bugs from excessive layering</li>
<li>Nice API, well documented: [nia note: I had no idea how to write audio code. I read a man page and now I do.]</li>
<li>Your code might work on illumos too</li>
</ul></li>
<li><p>[nia note: SDL2 seems very sensitive to the blk_ms sysctl being high or low, with other implementations there seems to be a less noticable difference. I don't know why.]</p></li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/new-freenas-mini-models-release-pr/" target="_blank" rel="nofollow noopener">New FreeNAS Mini</a></h3>

<blockquote>
<p>Two new FreeNAS Mini systems join the very popular FreeNAS Mini and Mini XL:</p>

<p>FreeNAS Mini XL+: This powerful 10 Bay platform (8x 3.5” and 1x 2.5” hot-swap, 1x 2.5” internal) includes the latest, compact server technology and provides dual 10GbE ports, 8 CPU cores and 32 GB RAM for high performance workgroups. The Mini XL+ scales beyond 100TB and is ideal for very demanding applications, including hosting virtual machines and multimedia editing. Starting at $1499, the Mini XL+ configured with cache SSD and 80 TB capacity is $4299, and consumes about 100 Watts.</p>

<p>FreeNAS Mini E: This cost-effective 4 Bay platform provides the resources required for SOHO use with quad GbE ports and 8 GB of RAM. The Mini E is ideal for file sharing, streaming and transcoding video at 1080p. Starting at $749, the Mini E configured with 8 TB capacity is $999, and consumes about 36 Watts.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mail-index.netbsd.org/source-changes/2019/07/30/msg107671.html" target="_blank" rel="nofollow noopener">Welcome to NetBSD 9.99.1!</a></li>
<li><a href="http://blog.snailtext.com/posts/berkeley-smorgasbord-part-2.html" target="_blank" rel="nofollow noopener">Berkeley smorgasbord — part II</a></li>
<li><a href="https://www.youtube.com/watch?v=Brt41xnMZqo&amp;list=PLuJmmKtsV1dOTmlImlD9U5j1P1rLxS2V8&amp;index=20&amp;t=0s" target="_blank" rel="nofollow noopener">dtracing postgres</a></li>
<li><a href="https://project-trident.org/post/2019-07-30_19.07-u1_available/" target="_blank" rel="nofollow noopener">Project Trident 19.07-U1 now available</a></li>
<li><a href="https://www.devprojournal.com/technology-trends/operating-systems/need-a-secure-operating-system-take-a-look-at-openbsd/" target="_blank" rel="nofollow noopener">Need a Secure Operating System? Take a Look at OpenBSD</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jeff - <a href="http://dpaste.com/2AT7JGP#wrap" target="_blank" rel="nofollow noopener">OpenZFS Port Testing Feedback</a></li>
<li>Malcolm - <a href="http://dpaste.com/1R170D7" target="_blank" rel="nofollow noopener">Best Practices for Custom Ports</a></li>
<li>Michael - <a href="http://dpaste.com/0CERP6R" target="_blank" rel="nofollow noopener">Little Correction</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0310.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </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>&lt;p&gt;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.&lt;/p&gt;

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

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release56" target="_blank" rel="nofollow noopener"&gt;DragonflyBSD 5.6 is out&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Version 5.6.0 released 17 June 2019&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.dragonflydigest.com/2019/06/19/23091.html" target="_blank" rel="nofollow noopener"&gt;Version 5.6.1 released 19 June 2019&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Big-ticket items&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved VM&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Informal test results showing the changes from 5.4 to 5.6 are available.&lt;/li&gt;
&lt;li&gt;Reduce stalls in the kernel vm_page_alloc() code (vm_page_list_find()).&lt;/li&gt;
&lt;li&gt;Improve page allocation algorithm to avoid re-iterating the same queues as the search is widened.&lt;/li&gt;
&lt;li&gt;Add a vm_page_hash*() API that allows the kernel to do heuristical lockless lookups of VM pages.&lt;/li&gt;
&lt;li&gt;Change vm_hold() and vm_unhold() semantics to not require any spin-locks.&lt;/li&gt;
&lt;li&gt;Change vm_page_wakeup() to not require any spin-locks.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;Refactor the handling of fictitious pages.&lt;/li&gt;
&lt;li&gt;Remove m-&amp;gt;md.pv_list entirely. VM pages in mappings no longer allocate pv_entry's, saving an enormous amount of memory when multiple processes utilize large shared memory maps (e.g. postgres database cache).&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;pmap operations now iterate vm_map_backing structures (rather than spin-locked page lists based on the vm_page and pv_entry'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.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DRM&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;Improve UEFI framebuffer support.&lt;/li&gt;
&lt;li&gt;A major deadlock has been fixed in the radeon/ttm code.&lt;/li&gt;
&lt;li&gt;Refactor the startup delay designed to avoid conflicts between the i915 driver initialization and X startup.&lt;/li&gt;
&lt;li&gt;Add DRM_IOCTL_GET_PCIINFO to improve mesa/libdrm support.&lt;/li&gt;
&lt;li&gt;Fix excessive wired memory build-ups.&lt;/li&gt;
&lt;li&gt;Fix Linux/DragonFly PAGE_MASK confusion in the DRM code.&lt;/li&gt;
&lt;li&gt;Fix idr_*() API bugs.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HAMMER2&lt;/p&gt;

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

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=OpenBSD-Vulkan-Support" target="_blank" rel="nofollow noopener"&gt;OpenBSD Vulkan Support&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Somewhat surprisingly, OpenBSD has added the Vulkan library and ICD loader support as their newest port. &lt;br&gt;
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. &lt;br&gt;
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. &lt;/p&gt;

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

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

&lt;h3&gt;&lt;a href="https://davmac.wordpress.com/2019/05/04/bad-utmp-implementations-in-glibc-and-freebsd/" target="_blank" rel="nofollow noopener"&gt;Bad utmp implementations in glibc and freebsd&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;br&gt;
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).&lt;br&gt;
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.&lt;br&gt;
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.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A good find&lt;/li&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://securityboulevard.com/2019/06/openssh-code-gets-an-update-to-protect-against-side-channel-attacks/" target="_blank" rel="nofollow noopener"&gt;OpenSSH gets an update to protect against Side Channel attacks&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;br&gt;
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”.&lt;br&gt;
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.&lt;br&gt;
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).”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" target="_blank" rel="nofollow noopener"&gt;ZFS vs OpenZFS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. &lt;br&gt;
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.&lt;br&gt;
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.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;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 &lt;a href="https://www.youtube.com/channel/UC0IK6Y4Go2KtRueHDiQcxow" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

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

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

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;Dave - &lt;a href="http://dpaste.com/38233JC" target="_blank" rel="nofollow noopener"&gt;CheriBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Neb - &lt;a href="http://dpaste.com/0B8XKXT#wrap" target="_blank" rel="nofollow noopener"&gt;Hello from Norway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lars - &lt;a href="http://dpaste.com/3N85SHR" target="_blank" rel="nofollow noopener"&gt;Ansible tutorial?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0304.mp4" type="video/mp4"&gt;
    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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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'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'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'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&amp;px=OpenBSD-Vulkan-Support" target="_blank" rel="nofollow noopener">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'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'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. </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/" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">here</a>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/cperciva/status/1141852451756105729?s=03" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">KnoxBug Meetup June 27th at 6pm</a></li>
<li><a href="https://www.flying-pie.com/locations/lake-oswego/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Difference between $x and ${x}</a></li>
<li><a href="https://www.nemil.com/on-software-engineering/beware-engineering-media.html" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">DragonflyBSD - MDS mitigation added a while ago</a></li>
<li><a href="https://eurobsdcon.org" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">CheriBSD</a></li>
<li>Neb - <a href="http://dpaste.com/0B8XKXT#wrap" target="_blank" rel="nofollow noopener">Hello from Norway</a></li>
<li>Lars - <a href="http://dpaste.com/3N85SHR" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>


    <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.
]]>
  </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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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'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'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'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&amp;px=OpenBSD-Vulkan-Support" target="_blank" rel="nofollow noopener">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'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'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. </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/" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">here</a>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/cperciva/status/1141852451756105729?s=03" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">KnoxBug Meetup June 27th at 6pm</a></li>
<li><a href="https://www.flying-pie.com/locations/lake-oswego/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Difference between $x and ${x}</a></li>
<li><a href="https://www.nemil.com/on-software-engineering/beware-engineering-media.html" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">DragonflyBSD - MDS mitigation added a while ago</a></li>
<li><a href="https://eurobsdcon.org" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">CheriBSD</a></li>
<li>Neb - <a href="http://dpaste.com/0B8XKXT#wrap" target="_blank" rel="nofollow noopener">Hello from Norway</a></li>
<li>Lars - <a href="http://dpaste.com/3N85SHR" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>


    <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.
]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 274: Language: Assembly | BSD Now 274</title>
  <link>https://www.bsdnow.tv/274</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2962</guid>
  <pubDate>Thu, 29 Nov 2018 02:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/64460b53-258b-484d-be91-f4b60eac299f.mp3" length="38828711" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Assembly language on OpenBSD, using bhyve for FreeBSD development, FreeBSD Gaming, FreeBSD for Thanksgiving, no space left on Dragonfly’s hammer2, and more.</itunes:subtitle>
  <itunes:duration>1:04:24</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;Assembly language on OpenBSD, using bhyve for FreeBSD development, FreeBSD Gaming, FreeBSD for Thanksgiving, no space left on Dragonfly’s hammer2, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://cryogenix.net/OpenBSD_assembly.html" target="_blank" rel="nofollow noopener"&gt;Assembly language on OpenBSD amd64+arm64&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a short introduction to assembly language programming on OpenBSD/amd64+arm64. Because of security features in the kernel, I have had to rethink a series of tutorials covering Aarch64 assembly language on OpenBSD, and therefore this will serve as a placeholder-cum-reminder.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD, like many UNIX and unix-like operating systems, now uses the Executable and Linkable Format (ELF) for its binary libraries and executables. Although the structure of this format is beyond the scope of this short introduction, it is necessary for me to explain part of one of the headers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Within the program header there are sections known as PT_NOTE that OpenBSD and other systems use to distinguish their ELF executables - OpenBSD looks for this section to check if it should attempt to execute the program or not.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Our first program: in C!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s often a good idea to prototype your assembly programs in a high level language such as C - it can then double up as both a set of notes and a working program that you can debug and compile into assembly language to compare with your own asm code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest on:&lt;/li&gt;
&lt;li&gt;Our first program: in x86-64 Asm (AT&amp;amp;T/GAS syntax)&lt;/li&gt;
&lt;li&gt;Our first program: in inline x86-64 assembly&lt;/li&gt;
&lt;li&gt;Our first program: in x86-64 asm (NASM syntax)&lt;/li&gt;
&lt;li&gt;Our first program: in ARMv8 AArch64 assembly&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://bsdjhb.blogspot.com/2018/10/using-bhyve-for-freebsd-development.html" target="_blank" rel="nofollow noopener"&gt;Using bhyve for FreeBSD Development&lt;/a&gt;&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;The bhyve hypervisor requires a 64-bit x86 processor with hardware support for virtualization.  This requirement allows for a simple, clean hypervisor implementation, but it does require a fairly recent&lt;br&gt;
processor.  The current hypervisor requires an Intel processor, but there is an active development branch with support for AMD processors.&lt;br&gt;
The hypervisor itself contains both user and kernel components.  The kernel driver is contained in the vmm.ko module and can be loaded either at boot from the boot loader or at runtime.  It must&lt;br&gt;
be loaded before any guests can be created.  When a guest is created, the kernel driver creates a device file in /dev/vmm which is used by the user programs to interact with the guest.&lt;br&gt;
The primary user component is the bhyve(8) program.  It constructs the emulated device tree in the guest and provides the implementation for most of the emulated devices.  It also calls the kernel driver to execute the guest.  Note that the guest always executes inside the driver itself, so guest execution time in the host is counted as system time in the bhyve process.&lt;br&gt;
Currently, bhyve does not provide a system firmware interface to the guest (neither BIOS nor UEFI).  Instead, a user program running on the host is used to perform boot time operations including loading the guest operating system kernel into the guest’s memory and setting the initial guest state so that the guest begins execution at the kernel’s entry point.  For FreeBSD guests, the bhyveload(8) program can be used to load the kernel and prepare the guest for execution.  Support for some other operating systems is available via the grub2-bhyve program which is available via the sysutils/grub2-bhyve port or as a prebuilt package.&lt;br&gt;
The bhyveload(8) program in FreeBSD 10.0 only supports 64-bit guests.  Support for 32-bit guests will be included in FreeBSD 10.1.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;See the article for the very technical breakdown of the following:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Network Setup&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bridged Configuration&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Private Network with NAT&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Using dnsmasq with a Private Network&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Running Guests via &lt;a href="http://vmrun.sh" target="_blank" rel="nofollow noopener"&gt;vmrun.sh&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configuring Guests&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Using a bhyve Guest as a Target&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Conclusion&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The bhyve hypervisor is a nice addition to a FreeBSD developer’s toolbox.  Guests can be used both to develop new features and to test merges to stable branches.  The hypervisor has a wide variety of uses beyond developing FreeBSD as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://oshogbo.vexillium.org/blog/58/" target="_blank" rel="nofollow noopener"&gt;Games on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What do all programmers like to do after work? Ok, what do most programers like to do after work? The answer is simple: play a good game! Recently at the Polish BSD User Group meetup mulander was telling us how you can play games on OpenBSD. Today let’s discuss how this looks in the FreeBSD world using the “server only” operating system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;XNA based games&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the ways of playing natively is to play indie games which use XNA. XNA is a framework from Microsoft which uses .NET, for creating games. Fortunately, in the BSD world we have Mono, an open source implementation of Microsoft’s .NET Framework which you can use to run games. There is also FNA framework which is a reimplementation of XNA which allows you to run the games under Linux. Thomas Frohwein, from OpenBSD, prepared a script, fnaify. Fnaify translate all dependencies used by an FNA game to OpenBSD dependencies.&lt;br&gt;
I decided to port the script to FreeBSD. The script is using /bin/sh which in the case of OpenBSD is a Korn Shell.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I didn’t test it with many games, but I don’t see any reason why it shouldn’t work with all the games tested by the OpenBSD guys. For example, with:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Cryptark&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rouge Legacy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Apotheon&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Escape Goat&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bastion&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CrossCode&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Atom Zombie Smasher&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open-Source games&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In FreeBSD and OpenBSD we also will find popular games which were open sourced. For example, I spend a lot of time playing in Quake 3 Arena on my FreeBSD machine. You can very simply install it using pkg: &lt;code&gt;# pkg install ioquake3&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Then move the files for the skins and maps to the .ioquake3 directory from your copy of Quake. In the past I also played UrbanTerror which is a fully open source shooter based on the Quake 3 Arena engine. It’s is also very easy to install it from ports: &lt;code&gt;# pkg install iourbanterror&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;In the ports tree in the games directory you can find over 1000 directories, many of them with fully implemented games. I didn’t test many games in this category, but you can find some interesting titles like:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;openxcom (Open-source re-implementation of the original X-Com)&lt;/li&gt;
&lt;li&gt;openjazz (Free re-implementation of the Jazz Jackrabbit™ game engine)&lt;/li&gt;
&lt;li&gt;corsixth (Open source re-implementation of Theme Hospital)&lt;/li&gt;
&lt;li&gt;quake2&lt;/li&gt;
&lt;li&gt;openra (Red Alert)&lt;/li&gt;
&lt;li&gt;openrct2 (Open source re-implementation of RollerCoaster Tycoon 2)&lt;/li&gt;
&lt;li&gt;openmw (Open source engine reimplementation of the game Morrowind)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;All those titles are simply installed through the packages. In that case I don’t think FreeBSD has any difference from OpenBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Wine&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the big advantages of FreeBSD over OpenBSD is that FreeBSD supports wine. Wine allows you to run Windows applications under other operating systems (including mac). If you are a FreeBSD 11 user, you can simply fetch wine from packages: &lt;code&gt;# pkg install i386-wine&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;To run Windows games, you need to have a 32-bit wine because most of the games on Windows are built on 32-bits (maybe this has changed – I don’t play so much these days). In my case, because I run FreeBSD-CURRENT I needed to build wine from ports. It wasn’t nice, but it also wasn’t unpleasant. The whole step-by-step building process of a wine from ports can be found here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Summary&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As you can see there are many titles available for *BSDs. Thanks to the FNA and fnaify, OpenBSD and FreeBSD can work with indie games which use the XNA framework. There are many interesting games implemented using this framework. Open source is not only for big server machines, and there are many re-implementations of popular games like Theme Hospital or RollerCoaster Tycoon 2. The biggest market is still enabled through wine, although its creates a lot of problems to run the games. Also, if you are an OpenBSD user only this option is not available for you. Please also note that we didn’t discuss any other emulators besides wine. In OpenBSD and FreeBSD there are many of them for GameBoy, SNES, NeoGeo and other games consoles.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://bwidawsk.net/blog/index.php/2018/11/freebsd-for-thanksgiving/" target="_blank" rel="nofollow noopener"&gt;FreeBSD For Thanksgiving&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve been working on FreeBSD for Intel for almost 6 months now. In the world of programmers, I am considered an old dog, and these 6 months have been all about learning new tricks. Luckily, I’ve found myself in a remarkably inclusive and receptive community whose patience seems plentiful. As I get ready to take some time off for the holidays, and move into that retrospective time of year, I thought I’d beat the rush a bit and update on the progress&lt;br&gt;
Earlier this year, I decided to move from architect of the Linux graphics driver into a more nebulous role of FreeBSD enabling. I was excited, but also uncertain if I was making the right decision.&lt;br&gt;
Earlier this half, I decided some general work in power management was highly important and began working there. I attended BSDCam (handsome guy on the right), and led a session on Power Management. I was honored to be able to lead this kind of effort.&lt;br&gt;
Earlier this quarter, I put the first round of my patches up for review, implementing suspend-to-idle. I have some rougher patches to handle s0ix support when suspending-to-idle. I gave a talk MeetBSD about our team’s work.&lt;br&gt;
Earlier this month, I noticed that FreeBSD doesn’t have an implementation for Intel Speed Shift (HWPstates), and I started working on that.&lt;br&gt;
Earlier this week, I was promoted from a lowly mentee committer to a full src committer.&lt;br&gt;
Earlier today, I decided to relegate my Linux laptop to the role of my backup machine, and I am writing this from my Dell XPS13 running FreeBSD&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;vandamme 13.0-CURRENT FreeBSD 13.0-CURRENT #45 881fee072ff(hwp)-dirty: Mon Nov 19 16:19:32 PST 2018 bwidawsk@vandamme:/usr/home/bwidawsk/usr/obj/usr/home/bwidawsk/usr/src/amd64.amd64/sys/DEVMACHINE amd64&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;6 months later, I feel a lot less uncertain about making the right decision. In fact, I think both opportunities would be great, and I’m thankful this Thanksgiving that this is my life and career. I have more plans and things I want to get done. I’m looking forward to being thankful again next year.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.garyshood.com/hammer2-space/" target="_blank" rel="nofollow noopener"&gt;hammer2: no space left on device on Dragonfly BSD&lt;/a&gt;&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;hammer2 does not actually delete a file when you rm or unlink it. Since recovery of the file is possible (this is the design of hammer2), there will still be an entry taking up data. It’s similar to how git works.&lt;br&gt;
Even with 75% usage listed here, the filesystem could still have filled up. If you are using it as your root filesystem, then attempts to clean up data may fail. If the kernel panics over this, you will see something like this.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;blockquote&gt;
&lt;p&gt;If you have a recent enough version of the rescue ramdisk installed, on bootup you can press ‘r’ and access the rescue ramdisk. Your provider will have to offer some sort of remote interface for interacting with the operating system before it boots, like VNC or IPMI. You can then mount your filesystem using:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;[root@ ~]# mkdir /tmp/fs&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[root@ ~]# mount_hammer2 -o local /dev/vbd0s1a /tmp/fs&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you receive an error that /sbin/hammer2 is not found, then your rescue ramdisk is not up to date enough. In that scenario, download the latest 5.2 iso from &lt;a href="http://dragonflybsd.org" target="_blank" rel="nofollow noopener"&gt;dragonflybsd.org&lt;/a&gt; and boot from the cd-rom on your virtual machine or physical device. Just login as root instead of installer.&lt;br&gt;
If the mount does succeed, then all you have to do is run the following twice:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;[root@ ~]# /sbin/hammer2 bulkfree /tmp/fs&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you do not have enough memory on your machine, you may need to mount swap. Add your swap partition to the /etc/fstab and then do:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;[root@ ~]# swapon -a&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Once you have ran the bulkfree command twice, the usage reported by df -h will be correct. However, there is a chance on reboot that a core dump will be placed in /var/crash/ so be prepared to have plenty of space free in case that happens. You should also delete any files you can and run the bulkfree operation twice afterwards to clear up additional space.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1S9NMZA" target="_blank" rel="nofollow noopener"&gt;BSD Pizza Night - Portland&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3T0AB7M" target="_blank" rel="nofollow noopener"&gt;bsd@35c3: …the place for you…*NIX!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://project-trident.org/download/" target="_blank" rel="nofollow noopener"&gt;Project Trident PreRelease Image now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dataswamp.org/~solene/2018-11-09-stardew-valley.html" target="_blank" rel="nofollow noopener"&gt;Play Stardew Valley on OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/charlesdaniels/gmixerctl" target="_blank" rel="nofollow noopener"&gt;GUI Wrapper for OpenBSD mixerctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/q5sys/qtv/" target="_blank" rel="nofollow noopener"&gt;qtv - QuickTextViewer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ron - &lt;a href="http://dpaste.com/16XT6PQ#wrap" target="_blank" rel="nofollow noopener"&gt;Ideas for feedback section&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Paulo - &lt;a href="http://dpaste.com/0BEE730" target="_blank" rel="nofollow noopener"&gt;SDIO Firmware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dan - &lt;a href="http://dpaste.com/3Q7DERN#wrap" target="_blank" rel="nofollow noopener"&gt;Some fun ZFS questions about labels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, gaming, assembly language, hammer2</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Assembly language on OpenBSD, using bhyve for FreeBSD development, FreeBSD Gaming, FreeBSD for Thanksgiving, no space left on Dragonfly’s hammer2, and more.</p>

<p>##Headlines<br>
###<a href="https://cryogenix.net/OpenBSD_assembly.html" target="_blank" rel="nofollow noopener">Assembly language on OpenBSD amd64+arm64</a></p>

<blockquote>
<p>This is a short introduction to assembly language programming on OpenBSD/amd64+arm64. Because of security features in the kernel, I have had to rethink a series of tutorials covering Aarch64 assembly language on OpenBSD, and therefore this will serve as a placeholder-cum-reminder.</p>
</blockquote>

<blockquote>
<p>OpenBSD, like many UNIX and unix-like operating systems, now uses the Executable and Linkable Format (ELF) for its binary libraries and executables. Although the structure of this format is beyond the scope of this short introduction, it is necessary for me to explain part of one of the headers.</p>
</blockquote>

<blockquote>
<p>Within the program header there are sections known as PT_NOTE that OpenBSD and other systems use to distinguish their ELF executables - OpenBSD looks for this section to check if it should attempt to execute the program or not.</p>
</blockquote>

<ul>
<li>Our first program: in C!</li>
</ul>

<blockquote>
<p>It’s often a good idea to prototype your assembly programs in a high level language such as C - it can then double up as both a set of notes and a working program that you can debug and compile into assembly language to compare with your own asm code.</p>
</blockquote>

<ul>
<li>See the article for the rest on:</li>
<li>Our first program: in x86-64 Asm (AT&amp;T/GAS syntax)</li>
<li>Our first program: in inline x86-64 assembly</li>
<li>Our first program: in x86-64 asm (NASM syntax)</li>
<li>Our first program: in ARMv8 AArch64 assembly</li>
</ul>

<hr>

<p>###<a href="https://bsdjhb.blogspot.com/2018/10/using-bhyve-for-freebsd-development.html" target="_blank" rel="nofollow noopener">Using bhyve for FreeBSD Development</a></p>

<ul>
<li>The Hypervisor</li>
</ul>

<blockquote>
<p>The bhyve hypervisor requires a 64-bit x86 processor with hardware support for virtualization.  This requirement allows for a simple, clean hypervisor implementation, but it does require a fairly recent<br>
processor.  The current hypervisor requires an Intel processor, but there is an active development branch with support for AMD processors.<br>
The hypervisor itself contains both user and kernel components.  The kernel driver is contained in the vmm.ko module and can be loaded either at boot from the boot loader or at runtime.  It must<br>
be loaded before any guests can be created.  When a guest is created, the kernel driver creates a device file in /dev/vmm which is used by the user programs to interact with the guest.<br>
The primary user component is the bhyve(8) program.  It constructs the emulated device tree in the guest and provides the implementation for most of the emulated devices.  It also calls the kernel driver to execute the guest.  Note that the guest always executes inside the driver itself, so guest execution time in the host is counted as system time in the bhyve process.<br>
Currently, bhyve does not provide a system firmware interface to the guest (neither BIOS nor UEFI).  Instead, a user program running on the host is used to perform boot time operations including loading the guest operating system kernel into the guest’s memory and setting the initial guest state so that the guest begins execution at the kernel’s entry point.  For FreeBSD guests, the bhyveload(8) program can be used to load the kernel and prepare the guest for execution.  Support for some other operating systems is available via the grub2-bhyve program which is available via the sysutils/grub2-bhyve port or as a prebuilt package.<br>
The bhyveload(8) program in FreeBSD 10.0 only supports 64-bit guests.  Support for 32-bit guests will be included in FreeBSD 10.1.</p>
</blockquote>

<ul>
<li>
<p>See the article for the very technical breakdown of the following:</p>
</li>
<li>
<p>Network Setup</p>
</li>
<li>
<p>Bridged Configuration</p>
</li>
<li>
<p>Private Network with NAT</p>
</li>
<li>
<p>Using dnsmasq with a Private Network</p>
</li>
<li>
<p>Running Guests via <a href="http://vmrun.sh" target="_blank" rel="nofollow noopener">vmrun.sh</a></p>
</li>
<li>
<p>Configuring Guests</p>
</li>
<li>
<p>Using a bhyve Guest as a Target</p>
</li>
<li>
<p>Conclusion</p>
</li>
</ul>

<blockquote>
<p>The bhyve hypervisor is a nice addition to a FreeBSD developer’s toolbox.  Guests can be used both to develop new features and to test merges to stable branches.  The hypervisor has a wide variety of uses beyond developing FreeBSD as well.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://oshogbo.vexillium.org/blog/58/" target="_blank" rel="nofollow noopener">Games on FreeBSD</a></p>

<blockquote>
<p>What do all programmers like to do after work? Ok, what do most programers like to do after work? The answer is simple: play a good game! Recently at the Polish BSD User Group meetup mulander was telling us how you can play games on OpenBSD. Today let’s discuss how this looks in the FreeBSD world using the “server only” operating system.</p>
</blockquote>

<ul>
<li>XNA based games</li>
</ul>

<blockquote>
<p>One of the ways of playing natively is to play indie games which use XNA. XNA is a framework from Microsoft which uses .NET, for creating games. Fortunately, in the BSD world we have Mono, an open source implementation of Microsoft’s .NET Framework which you can use to run games. There is also FNA framework which is a reimplementation of XNA which allows you to run the games under Linux. Thomas Frohwein, from OpenBSD, prepared a script, fnaify. Fnaify translate all dependencies used by an FNA game to OpenBSD dependencies.<br>
I decided to port the script to FreeBSD. The script is using /bin/sh which in the case of OpenBSD is a Korn Shell.</p>
</blockquote>

<blockquote>
<p>I didn’t test it with many games, but I don’t see any reason why it shouldn’t work with all the games tested by the OpenBSD guys. For example, with:</p>
</blockquote>

<ul>
<li>
<p>Cryptark</p>
</li>
<li>
<p>Rouge Legacy</p>
</li>
<li>
<p>Apotheon</p>
</li>
<li>
<p>Escape Goat</p>
</li>
<li>
<p>Bastion</p>
</li>
<li>
<p>CrossCode</p>
</li>
<li>
<p>Atom Zombie Smasher</p>
</li>
<li>
<p>Open-Source games</p>
</li>
</ul>

<blockquote>
<p>In FreeBSD and OpenBSD we also will find popular games which were open sourced. For example, I spend a lot of time playing in Quake 3 Arena on my FreeBSD machine. You can very simply install it using pkg: <code># pkg install ioquake3</code></p>
</blockquote>

<blockquote>
<p>Then move the files for the skins and maps to the .ioquake3 directory from your copy of Quake. In the past I also played UrbanTerror which is a fully open source shooter based on the Quake 3 Arena engine. It’s is also very easy to install it from ports: <code># pkg install iourbanterror</code></p>
</blockquote>

<blockquote>
<p>In the ports tree in the games directory you can find over 1000 directories, many of them with fully implemented games. I didn’t test many games in this category, but you can find some interesting titles like:</p>
</blockquote>

<ul>
<li>openxcom (Open-source re-implementation of the original X-Com)</li>
<li>openjazz (Free re-implementation of the Jazz Jackrabbit™ game engine)</li>
<li>corsixth (Open source re-implementation of Theme Hospital)</li>
<li>quake2</li>
<li>openra (Red Alert)</li>
<li>openrct2 (Open source re-implementation of RollerCoaster Tycoon 2)</li>
<li>openmw (Open source engine reimplementation of the game Morrowind)</li>
</ul>

<blockquote>
<p>All those titles are simply installed through the packages. In that case I don’t think FreeBSD has any difference from OpenBSD.</p>
</blockquote>

<ul>
<li>Wine</li>
</ul>

<blockquote>
<p>One of the big advantages of FreeBSD over OpenBSD is that FreeBSD supports wine. Wine allows you to run Windows applications under other operating systems (including mac). If you are a FreeBSD 11 user, you can simply fetch wine from packages: <code># pkg install i386-wine</code></p>
</blockquote>

<blockquote>
<p>To run Windows games, you need to have a 32-bit wine because most of the games on Windows are built on 32-bits (maybe this has changed – I don’t play so much these days). In my case, because I run FreeBSD-CURRENT I needed to build wine from ports. It wasn’t nice, but it also wasn’t unpleasant. The whole step-by-step building process of a wine from ports can be found here.</p>
</blockquote>

<ul>
<li>Summary</li>
</ul>

<blockquote>
<p>As you can see there are many titles available for *BSDs. Thanks to the FNA and fnaify, OpenBSD and FreeBSD can work with indie games which use the XNA framework. There are many interesting games implemented using this framework. Open source is not only for big server machines, and there are many re-implementations of popular games like Theme Hospital or RollerCoaster Tycoon 2. The biggest market is still enabled through wine, although its creates a lot of problems to run the games. Also, if you are an OpenBSD user only this option is not available for you. Please also note that we didn’t discuss any other emulators besides wine. In OpenBSD and FreeBSD there are many of them for GameBoy, SNES, NeoGeo and other games consoles.</p>
</blockquote>

<hr>

<p>###<a href="https://bwidawsk.net/blog/index.php/2018/11/freebsd-for-thanksgiving/" target="_blank" rel="nofollow noopener">FreeBSD For Thanksgiving</a></p>

<blockquote>
<p>I’ve been working on FreeBSD for Intel for almost 6 months now. In the world of programmers, I am considered an old dog, and these 6 months have been all about learning new tricks. Luckily, I’ve found myself in a remarkably inclusive and receptive community whose patience seems plentiful. As I get ready to take some time off for the holidays, and move into that retrospective time of year, I thought I’d beat the rush a bit and update on the progress<br>
Earlier this year, I decided to move from architect of the Linux graphics driver into a more nebulous role of FreeBSD enabling. I was excited, but also uncertain if I was making the right decision.<br>
Earlier this half, I decided some general work in power management was highly important and began working there. I attended BSDCam (handsome guy on the right), and led a session on Power Management. I was honored to be able to lead this kind of effort.<br>
Earlier this quarter, I put the first round of my patches up for review, implementing suspend-to-idle. I have some rougher patches to handle s0ix support when suspending-to-idle. I gave a talk MeetBSD about our team’s work.<br>
Earlier this month, I noticed that FreeBSD doesn’t have an implementation for Intel Speed Shift (HWPstates), and I started working on that.<br>
Earlier this week, I was promoted from a lowly mentee committer to a full src committer.<br>
Earlier today, I decided to relegate my Linux laptop to the role of my backup machine, and I am writing this from my Dell XPS13 running FreeBSD</p>
</blockquote>

<p><code>vandamme 13.0-CURRENT FreeBSD 13.0-CURRENT #45 881fee072ff(hwp)-dirty: Mon Nov 19 16:19:32 PST 2018 bwidawsk@vandamme:/usr/home/bwidawsk/usr/obj/usr/home/bwidawsk/usr/src/amd64.amd64/sys/DEVMACHINE amd64</code></p>

<blockquote>
<p>6 months later, I feel a lot less uncertain about making the right decision. In fact, I think both opportunities would be great, and I’m thankful this Thanksgiving that this is my life and career. I have more plans and things I want to get done. I’m looking forward to being thankful again next year.</p>
</blockquote>

<hr>

<p>###<a href="https://www.garyshood.com/hammer2-space/" target="_blank" rel="nofollow noopener">hammer2: no space left on device on Dragonfly BSD</a></p>

<ul>
<li>The Issue</li>
</ul>

<blockquote>
<p>hammer2 does not actually delete a file when you rm or unlink it. Since recovery of the file is possible (this is the design of hammer2), there will still be an entry taking up data. It’s similar to how git works.<br>
Even with 75% usage listed here, the filesystem could still have filled up. If you are using it as your root filesystem, then attempts to clean up data may fail. If the kernel panics over this, you will see something like this.</p>
</blockquote>

<ul>
<li>The Fix</li>
</ul>

<blockquote>
<p>If you have a recent enough version of the rescue ramdisk installed, on bootup you can press ‘r’ and access the rescue ramdisk. Your provider will have to offer some sort of remote interface for interacting with the operating system before it boots, like VNC or IPMI. You can then mount your filesystem using:</p>
</blockquote>

<p><code>[root@ ~]# mkdir /tmp/fs</code><br>
<code>[root@ ~]# mount_hammer2 -o local /dev/vbd0s1a /tmp/fs</code></p>

<blockquote>
<p>If you receive an error that /sbin/hammer2 is not found, then your rescue ramdisk is not up to date enough. In that scenario, download the latest 5.2 iso from <a href="http://dragonflybsd.org" target="_blank" rel="nofollow noopener">dragonflybsd.org</a> and boot from the cd-rom on your virtual machine or physical device. Just login as root instead of installer.<br>
If the mount does succeed, then all you have to do is run the following twice:</p>
</blockquote>

<p><code>[root@ ~]# /sbin/hammer2 bulkfree /tmp/fs</code></p>

<blockquote>
<p>If you do not have enough memory on your machine, you may need to mount swap. Add your swap partition to the /etc/fstab and then do:</p>
</blockquote>

<p><code>[root@ ~]# swapon -a</code></p>

<blockquote>
<p>Once you have ran the bulkfree command twice, the usage reported by df -h will be correct. However, there is a chance on reboot that a core dump will be placed in /var/crash/ so be prepared to have plenty of space free in case that happens. You should also delete any files you can and run the bulkfree operation twice afterwards to clear up additional space.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://dpaste.com/1S9NMZA" target="_blank" rel="nofollow noopener">BSD Pizza Night - Portland</a></li>
<li><a href="http://dpaste.com/3T0AB7M" target="_blank" rel="nofollow noopener">bsd@35c3: …the place for you…*NIX!</a></li>
<li><a href="http://project-trident.org/download/" target="_blank" rel="nofollow noopener">Project Trident PreRelease Image now available</a></li>
<li><a href="https://dataswamp.org/~solene/2018-11-09-stardew-valley.html" target="_blank" rel="nofollow noopener">Play Stardew Valley on OpenBSD</a></li>
<li><a href="https://github.com/charlesdaniels/gmixerctl" target="_blank" rel="nofollow noopener">GUI Wrapper for OpenBSD mixerctl</a></li>
<li><a href="https://github.com/q5sys/qtv/" target="_blank" rel="nofollow noopener">qtv - QuickTextViewer</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Ron - <a href="http://dpaste.com/16XT6PQ#wrap" target="_blank" rel="nofollow noopener">Ideas for feedback section</a></li>
<li>Paulo - <a href="http://dpaste.com/0BEE730" target="_blank" rel="nofollow noopener">SDIO Firmware</a></li>
<li>Dan - <a href="http://dpaste.com/3Q7DERN#wrap" target="_blank" rel="nofollow noopener">Some fun ZFS questions about labels</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Assembly language on OpenBSD, using bhyve for FreeBSD development, FreeBSD Gaming, FreeBSD for Thanksgiving, no space left on Dragonfly’s hammer2, and more.</p>

<p>##Headlines<br>
###<a href="https://cryogenix.net/OpenBSD_assembly.html" target="_blank" rel="nofollow noopener">Assembly language on OpenBSD amd64+arm64</a></p>

<blockquote>
<p>This is a short introduction to assembly language programming on OpenBSD/amd64+arm64. Because of security features in the kernel, I have had to rethink a series of tutorials covering Aarch64 assembly language on OpenBSD, and therefore this will serve as a placeholder-cum-reminder.</p>
</blockquote>

<blockquote>
<p>OpenBSD, like many UNIX and unix-like operating systems, now uses the Executable and Linkable Format (ELF) for its binary libraries and executables. Although the structure of this format is beyond the scope of this short introduction, it is necessary for me to explain part of one of the headers.</p>
</blockquote>

<blockquote>
<p>Within the program header there are sections known as PT_NOTE that OpenBSD and other systems use to distinguish their ELF executables - OpenBSD looks for this section to check if it should attempt to execute the program or not.</p>
</blockquote>

<ul>
<li>Our first program: in C!</li>
</ul>

<blockquote>
<p>It’s often a good idea to prototype your assembly programs in a high level language such as C - it can then double up as both a set of notes and a working program that you can debug and compile into assembly language to compare with your own asm code.</p>
</blockquote>

<ul>
<li>See the article for the rest on:</li>
<li>Our first program: in x86-64 Asm (AT&amp;T/GAS syntax)</li>
<li>Our first program: in inline x86-64 assembly</li>
<li>Our first program: in x86-64 asm (NASM syntax)</li>
<li>Our first program: in ARMv8 AArch64 assembly</li>
</ul>

<hr>

<p>###<a href="https://bsdjhb.blogspot.com/2018/10/using-bhyve-for-freebsd-development.html" target="_blank" rel="nofollow noopener">Using bhyve for FreeBSD Development</a></p>

<ul>
<li>The Hypervisor</li>
</ul>

<blockquote>
<p>The bhyve hypervisor requires a 64-bit x86 processor with hardware support for virtualization.  This requirement allows for a simple, clean hypervisor implementation, but it does require a fairly recent<br>
processor.  The current hypervisor requires an Intel processor, but there is an active development branch with support for AMD processors.<br>
The hypervisor itself contains both user and kernel components.  The kernel driver is contained in the vmm.ko module and can be loaded either at boot from the boot loader or at runtime.  It must<br>
be loaded before any guests can be created.  When a guest is created, the kernel driver creates a device file in /dev/vmm which is used by the user programs to interact with the guest.<br>
The primary user component is the bhyve(8) program.  It constructs the emulated device tree in the guest and provides the implementation for most of the emulated devices.  It also calls the kernel driver to execute the guest.  Note that the guest always executes inside the driver itself, so guest execution time in the host is counted as system time in the bhyve process.<br>
Currently, bhyve does not provide a system firmware interface to the guest (neither BIOS nor UEFI).  Instead, a user program running on the host is used to perform boot time operations including loading the guest operating system kernel into the guest’s memory and setting the initial guest state so that the guest begins execution at the kernel’s entry point.  For FreeBSD guests, the bhyveload(8) program can be used to load the kernel and prepare the guest for execution.  Support for some other operating systems is available via the grub2-bhyve program which is available via the sysutils/grub2-bhyve port or as a prebuilt package.<br>
The bhyveload(8) program in FreeBSD 10.0 only supports 64-bit guests.  Support for 32-bit guests will be included in FreeBSD 10.1.</p>
</blockquote>

<ul>
<li>
<p>See the article for the very technical breakdown of the following:</p>
</li>
<li>
<p>Network Setup</p>
</li>
<li>
<p>Bridged Configuration</p>
</li>
<li>
<p>Private Network with NAT</p>
</li>
<li>
<p>Using dnsmasq with a Private Network</p>
</li>
<li>
<p>Running Guests via <a href="http://vmrun.sh" target="_blank" rel="nofollow noopener">vmrun.sh</a></p>
</li>
<li>
<p>Configuring Guests</p>
</li>
<li>
<p>Using a bhyve Guest as a Target</p>
</li>
<li>
<p>Conclusion</p>
</li>
</ul>

<blockquote>
<p>The bhyve hypervisor is a nice addition to a FreeBSD developer’s toolbox.  Guests can be used both to develop new features and to test merges to stable branches.  The hypervisor has a wide variety of uses beyond developing FreeBSD as well.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://oshogbo.vexillium.org/blog/58/" target="_blank" rel="nofollow noopener">Games on FreeBSD</a></p>

<blockquote>
<p>What do all programmers like to do after work? Ok, what do most programers like to do after work? The answer is simple: play a good game! Recently at the Polish BSD User Group meetup mulander was telling us how you can play games on OpenBSD. Today let’s discuss how this looks in the FreeBSD world using the “server only” operating system.</p>
</blockquote>

<ul>
<li>XNA based games</li>
</ul>

<blockquote>
<p>One of the ways of playing natively is to play indie games which use XNA. XNA is a framework from Microsoft which uses .NET, for creating games. Fortunately, in the BSD world we have Mono, an open source implementation of Microsoft’s .NET Framework which you can use to run games. There is also FNA framework which is a reimplementation of XNA which allows you to run the games under Linux. Thomas Frohwein, from OpenBSD, prepared a script, fnaify. Fnaify translate all dependencies used by an FNA game to OpenBSD dependencies.<br>
I decided to port the script to FreeBSD. The script is using /bin/sh which in the case of OpenBSD is a Korn Shell.</p>
</blockquote>

<blockquote>
<p>I didn’t test it with many games, but I don’t see any reason why it shouldn’t work with all the games tested by the OpenBSD guys. For example, with:</p>
</blockquote>

<ul>
<li>
<p>Cryptark</p>
</li>
<li>
<p>Rouge Legacy</p>
</li>
<li>
<p>Apotheon</p>
</li>
<li>
<p>Escape Goat</p>
</li>
<li>
<p>Bastion</p>
</li>
<li>
<p>CrossCode</p>
</li>
<li>
<p>Atom Zombie Smasher</p>
</li>
<li>
<p>Open-Source games</p>
</li>
</ul>

<blockquote>
<p>In FreeBSD and OpenBSD we also will find popular games which were open sourced. For example, I spend a lot of time playing in Quake 3 Arena on my FreeBSD machine. You can very simply install it using pkg: <code># pkg install ioquake3</code></p>
</blockquote>

<blockquote>
<p>Then move the files for the skins and maps to the .ioquake3 directory from your copy of Quake. In the past I also played UrbanTerror which is a fully open source shooter based on the Quake 3 Arena engine. It’s is also very easy to install it from ports: <code># pkg install iourbanterror</code></p>
</blockquote>

<blockquote>
<p>In the ports tree in the games directory you can find over 1000 directories, many of them with fully implemented games. I didn’t test many games in this category, but you can find some interesting titles like:</p>
</blockquote>

<ul>
<li>openxcom (Open-source re-implementation of the original X-Com)</li>
<li>openjazz (Free re-implementation of the Jazz Jackrabbit™ game engine)</li>
<li>corsixth (Open source re-implementation of Theme Hospital)</li>
<li>quake2</li>
<li>openra (Red Alert)</li>
<li>openrct2 (Open source re-implementation of RollerCoaster Tycoon 2)</li>
<li>openmw (Open source engine reimplementation of the game Morrowind)</li>
</ul>

<blockquote>
<p>All those titles are simply installed through the packages. In that case I don’t think FreeBSD has any difference from OpenBSD.</p>
</blockquote>

<ul>
<li>Wine</li>
</ul>

<blockquote>
<p>One of the big advantages of FreeBSD over OpenBSD is that FreeBSD supports wine. Wine allows you to run Windows applications under other operating systems (including mac). If you are a FreeBSD 11 user, you can simply fetch wine from packages: <code># pkg install i386-wine</code></p>
</blockquote>

<blockquote>
<p>To run Windows games, you need to have a 32-bit wine because most of the games on Windows are built on 32-bits (maybe this has changed – I don’t play so much these days). In my case, because I run FreeBSD-CURRENT I needed to build wine from ports. It wasn’t nice, but it also wasn’t unpleasant. The whole step-by-step building process of a wine from ports can be found here.</p>
</blockquote>

<ul>
<li>Summary</li>
</ul>

<blockquote>
<p>As you can see there are many titles available for *BSDs. Thanks to the FNA and fnaify, OpenBSD and FreeBSD can work with indie games which use the XNA framework. There are many interesting games implemented using this framework. Open source is not only for big server machines, and there are many re-implementations of popular games like Theme Hospital or RollerCoaster Tycoon 2. The biggest market is still enabled through wine, although its creates a lot of problems to run the games. Also, if you are an OpenBSD user only this option is not available for you. Please also note that we didn’t discuss any other emulators besides wine. In OpenBSD and FreeBSD there are many of them for GameBoy, SNES, NeoGeo and other games consoles.</p>
</blockquote>

<hr>

<p>###<a href="https://bwidawsk.net/blog/index.php/2018/11/freebsd-for-thanksgiving/" target="_blank" rel="nofollow noopener">FreeBSD For Thanksgiving</a></p>

<blockquote>
<p>I’ve been working on FreeBSD for Intel for almost 6 months now. In the world of programmers, I am considered an old dog, and these 6 months have been all about learning new tricks. Luckily, I’ve found myself in a remarkably inclusive and receptive community whose patience seems plentiful. As I get ready to take some time off for the holidays, and move into that retrospective time of year, I thought I’d beat the rush a bit and update on the progress<br>
Earlier this year, I decided to move from architect of the Linux graphics driver into a more nebulous role of FreeBSD enabling. I was excited, but also uncertain if I was making the right decision.<br>
Earlier this half, I decided some general work in power management was highly important and began working there. I attended BSDCam (handsome guy on the right), and led a session on Power Management. I was honored to be able to lead this kind of effort.<br>
Earlier this quarter, I put the first round of my patches up for review, implementing suspend-to-idle. I have some rougher patches to handle s0ix support when suspending-to-idle. I gave a talk MeetBSD about our team’s work.<br>
Earlier this month, I noticed that FreeBSD doesn’t have an implementation for Intel Speed Shift (HWPstates), and I started working on that.<br>
Earlier this week, I was promoted from a lowly mentee committer to a full src committer.<br>
Earlier today, I decided to relegate my Linux laptop to the role of my backup machine, and I am writing this from my Dell XPS13 running FreeBSD</p>
</blockquote>

<p><code>vandamme 13.0-CURRENT FreeBSD 13.0-CURRENT #45 881fee072ff(hwp)-dirty: Mon Nov 19 16:19:32 PST 2018 bwidawsk@vandamme:/usr/home/bwidawsk/usr/obj/usr/home/bwidawsk/usr/src/amd64.amd64/sys/DEVMACHINE amd64</code></p>

<blockquote>
<p>6 months later, I feel a lot less uncertain about making the right decision. In fact, I think both opportunities would be great, and I’m thankful this Thanksgiving that this is my life and career. I have more plans and things I want to get done. I’m looking forward to being thankful again next year.</p>
</blockquote>

<hr>

<p>###<a href="https://www.garyshood.com/hammer2-space/" target="_blank" rel="nofollow noopener">hammer2: no space left on device on Dragonfly BSD</a></p>

<ul>
<li>The Issue</li>
</ul>

<blockquote>
<p>hammer2 does not actually delete a file when you rm or unlink it. Since recovery of the file is possible (this is the design of hammer2), there will still be an entry taking up data. It’s similar to how git works.<br>
Even with 75% usage listed here, the filesystem could still have filled up. If you are using it as your root filesystem, then attempts to clean up data may fail. If the kernel panics over this, you will see something like this.</p>
</blockquote>

<ul>
<li>The Fix</li>
</ul>

<blockquote>
<p>If you have a recent enough version of the rescue ramdisk installed, on bootup you can press ‘r’ and access the rescue ramdisk. Your provider will have to offer some sort of remote interface for interacting with the operating system before it boots, like VNC or IPMI. You can then mount your filesystem using:</p>
</blockquote>

<p><code>[root@ ~]# mkdir /tmp/fs</code><br>
<code>[root@ ~]# mount_hammer2 -o local /dev/vbd0s1a /tmp/fs</code></p>

<blockquote>
<p>If you receive an error that /sbin/hammer2 is not found, then your rescue ramdisk is not up to date enough. In that scenario, download the latest 5.2 iso from <a href="http://dragonflybsd.org" target="_blank" rel="nofollow noopener">dragonflybsd.org</a> and boot from the cd-rom on your virtual machine or physical device. Just login as root instead of installer.<br>
If the mount does succeed, then all you have to do is run the following twice:</p>
</blockquote>

<p><code>[root@ ~]# /sbin/hammer2 bulkfree /tmp/fs</code></p>

<blockquote>
<p>If you do not have enough memory on your machine, you may need to mount swap. Add your swap partition to the /etc/fstab and then do:</p>
</blockquote>

<p><code>[root@ ~]# swapon -a</code></p>

<blockquote>
<p>Once you have ran the bulkfree command twice, the usage reported by df -h will be correct. However, there is a chance on reboot that a core dump will be placed in /var/crash/ so be prepared to have plenty of space free in case that happens. You should also delete any files you can and run the bulkfree operation twice afterwards to clear up additional space.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://dpaste.com/1S9NMZA" target="_blank" rel="nofollow noopener">BSD Pizza Night - Portland</a></li>
<li><a href="http://dpaste.com/3T0AB7M" target="_blank" rel="nofollow noopener">bsd@35c3: …the place for you…*NIX!</a></li>
<li><a href="http://project-trident.org/download/" target="_blank" rel="nofollow noopener">Project Trident PreRelease Image now available</a></li>
<li><a href="https://dataswamp.org/~solene/2018-11-09-stardew-valley.html" target="_blank" rel="nofollow noopener">Play Stardew Valley on OpenBSD</a></li>
<li><a href="https://github.com/charlesdaniels/gmixerctl" target="_blank" rel="nofollow noopener">GUI Wrapper for OpenBSD mixerctl</a></li>
<li><a href="https://github.com/q5sys/qtv/" target="_blank" rel="nofollow noopener">qtv - QuickTextViewer</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Ron - <a href="http://dpaste.com/16XT6PQ#wrap" target="_blank" rel="nofollow noopener">Ideas for feedback section</a></li>
<li>Paulo - <a href="http://dpaste.com/0BEE730" target="_blank" rel="nofollow noopener">SDIO Firmware</a></li>
<li>Dan - <a href="http://dpaste.com/3Q7DERN#wrap" target="_blank" rel="nofollow noopener">Some fun ZFS questions about labels</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 248: Show Me The Mooney | BSD Now 248</title>
  <link>https://www.bsdnow.tv/248</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2016</guid>
  <pubDate>Tue, 29 May 2018 14:30:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a0ea5b3c-e781-499e-bfa4-cee1d550f915.mp3" length="62803024" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonflyBSD release 5.2.1 is here, BPF kernel exploit writeup, Remote Debugging the running OpenBSD kernel, interview with Patrick Mooney, FreeBSD buildbot setup in a jail, dumping your USB, and 5 years of gaming on FreeBSD.</itunes:subtitle>
  <itunes:duration>1:44: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>&lt;p&gt;DragonflyBSD release 5.2.1 is here, BPF kernel exploit writeup, Remote Debugging the running OpenBSD kernel, interview with Patrick Mooney, FreeBSD buildbot setup in a jail, dumping your USB, and 5 years of gaming on FreeBSD.&lt;/p&gt;

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

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD: release52 (w/stable HAMMER2, as default root)&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;DragonflyBSD 5.2.1 was released on May 21, 2018&lt;/li&gt;
&lt;li&gt;&amp;gt; Big Ticket items:


&lt;blockquote&gt;
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre&lt;em&gt;mitigation and machdep.meltdown&lt;/em&gt;mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP&lt;em&gt;MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO&lt;/em&gt;BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.&lt;/blockquote&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


&lt;h3&gt;&lt;a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener"&gt;PS4 4.55 BPF Race Condition Kernel Exploit Writeup&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;Note: While this bug is primarily interesting for exploitation on the PS4, this bug can also potentially be exploited on other unpatched platforms using FreeBSD if the attacker has read/write permissions on /dev/bpf, or if they want to escalate from root user to kernel code execution. As such, I've published it under the "FreeBSD" folder and not the "PS4" folder.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;blockquote&gt;
  &lt;p&gt;Welcome to the kernel portion of the PS4 4.55FW full exploit chain write-up. This bug was found by qwerty, and is fairly unique in the way it's exploited, so I wanted to do a detailed write-up on how it worked. The full source of the exploit can be found &lt;a href="https://github.com/Cryptogenic/PS4-4.55-Kernel-Exploit" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;. I've previously covered the webkit exploit implementation for userland access &lt;a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/WebKit/setAttributeNodeNS%20UAF%20Write-up.md" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD or Sony's fault? Why not both...&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Interestingly, this bug is actually a FreeBSD bug and was not (at least directly) introduced by Sony code. While this is a FreeBSD bug however, it's not very useful for most systems because the /dev/bpf device driver is root-owned, and the permissions for it are set to 0600 (meaning owner has read/write privileges, and nobody else does) - though it can be used for escalating from root to kernel mode code execution. However, let’s take a look at the make_dev() call inside the PS4 kernel for /dev/bpf (taken from a 4.05 kernel dump).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
seg000:FFFFFFFFA181F15B                 lea     rdi, unk_FFFFFFFFA2D77640
seg000:FFFFFFFFA181F162                 lea     r9, aBpf        ; "bpf"
seg000:FFFFFFFFA181F169                 mov     esi, 0
seg000:FFFFFFFFA181F16E                 mov     edx, 0
seg000:FFFFFFFFA181F173                 xor     ecx, ecx
seg000:FFFFFFFFA181F175                 mov     r8d, 1B6h
seg000:FFFFFFFFA181F17B                 xor     eax, eax
seg000:FFFFFFFFA181F17D                 mov     cs:qword_FFFFFFFFA34EC770, 0
seg000:FFFFFFFFA181F188                 call    make_dev
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;We see UID 0 (the UID for the root user) getting moved into the register for the 3rd argument, which is the owner argument. However, the permissions bits are being set to 0x1B6, which in octal is 0666. This means anyone can open /dev/bpf with read/write privileges. I’m not sure why this is the case, qwerty speculates that perhaps bpf is used for LAN gaming. In any case, this was a poor design decision because bpf is usually considered privileged, and should not be accessible to a process that is completely untrusted, such as WebKit. On most platforms, permissions for /dev/bpf will be set to 0x180, or 0600.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Race Conditions - What are they?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The class of the bug abused in this exploit is known as a "race condition". Before we get into bug specifics, it's important for the reader to understand what race conditions are and how they can be an issue (especially in something like a kernel). Often in complex software (such as a kernel), resources will be shared (or "global"). This means other threads could potentially execute code that will access some resource that could be accessed by another thread at the same point in time. What happens if one thread accesses this resource while another thread does without exclusive access? Race conditions are introduced.&lt;/p&gt;
  
  &lt;p&gt;Race conditions are defined as possible scenarios where events happen in a sequence different than the developer intended which leads to undefined behavior. In simple, single-threaded programs, this is not an issue because execution is linear. In more complex programs where code can be running in parallel however, this becomes a real issue. To prevent these problems, atomic instructions and locking mechanisms were introduced. When one thread wants to access a critical resource, it will attempt to acquire a "lock". If another thread is already using this resource, generally the thread attempting to acquire the lock will wait until the other thread is finished with it. Each thread must release the lock to the resource after they're done with it, failure to do so could result in a deadlock.&lt;/p&gt;
  
  &lt;p&gt;While locking mechanisms such as mutexes have been introduced, developers sometimes struggle to use them properly. For example, what if a piece of shared data gets validated and processed, but while the processing of the data is locked, the validation is not? There is a window between validation and locking where that data can change, and while the developer thinks the data has been validated, it could be substituted with something malicious after it is validated, but before it is used. Parallel programming can be difficult, especially when, as a developer, you also want to factor in the fact that you don't want to put too much code in between locking and unlocking as it can impact performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See &lt;a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener"&gt;article&lt;/a&gt; for the rest&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://bijanebrahimi.github.io/blog/remote-debugging-the-running-openbsd-kernel.html" target="_blank" rel="nofollow noopener"&gt;Remote Debugging the running OpenBSD kernel&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Subtitled: A way to understand the OpenBSD internals
+&amp;gt; The Problem
+&amp;gt; A few month ago, I tried porting the FreeBSD kdb along with it's gdb stub implementations to OpenBSD as a practice of learning the internals of an BSD operating system. The ddb code in both FreeBSD and OpenBSD looks pretty much the same and the GDB Remote Serial Protocol looks very minimal.
+&amp;gt; But sadly I got very busy and the work is stalled but I'm planning on resuming the attempt as soon as I get the chance, But there is an alternative way to Debugging the OpenBSD kernel via QEMU. What I did below is basically the same with a few minor changes which I hope to describe it as best.
+&amp;gt; Installing OpenBSD on Qemu
+&amp;gt; For debugging the kernel, we need a working OpenBSD system running on Qemu. I chose to create a raw disk file to be able to easily mount it later via the host and copy the custom kernel onto it.


&lt;blockquote&gt;
  $ qemu-img create -f raw disk.raw 5G
  $ qemu-system-x86&lt;em&gt;64 -m 256M \
  -drive format=raw,file=install63.fs \
  -drive format=raw,file=disk.raw
  +&amp;gt; Custom Kernel
  +&amp;gt; To debug the kernel, we need a version of the kernel with debugging symbols and for that we have to recompile it first. The process is documented at Building the System from Source:
  ...
  +&amp;gt; Then we can copy the bsd kernel to the guest machine and keep the bsd.gdb on the host to start the remote debugging via gdb.
  +&amp;gt; Remote debugging kernel
  +&amp;gt; Now it's to time to boot the guest with the new custom kernel. Remember that the -s argument enables the gdb server on qemu on localhost port 1234 by default:
  $ qemu-system-x86&lt;/em&gt;64 -m 256M -s \
     -net nic -net user \
  -drive format=raw,file=install63.fs \
  +&amp;gt; Now to finally attach to the running kernel:&lt;/blockquote&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


&lt;h2&gt;Interview - Patrick Mooney - Software Engineer &lt;a href="pmooney@pfmooney.com" target="_blank" rel="nofollow noopener"&gt;pmooney@pfmooney.com&lt;/a&gt; / &lt;a href="https://twitter.com/pfmooney" target="_blank" rel="nofollow noopener"&gt;@pfmooney&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;BR: How did you first get introduced to UNIX?&lt;/li&gt;
&lt;li&gt;AJ: What got you started contributing to an open source project?&lt;/li&gt;
&lt;li&gt;BR: What sorts of things have you worked on in the past?&lt;/li&gt;
&lt;li&gt;AJ: Can you tell us more about what attracted you to illumos?&lt;/li&gt;
&lt;li&gt;BR: How did you get interested in, and started with, systems development?&lt;/li&gt;
&lt;li&gt;AJ: When did you first get interested in bhyve?&lt;/li&gt;
&lt;li&gt;BR: How much work was it to take the years-old port of bhyve and get it working on modern IllumOS?&lt;/li&gt;
&lt;li&gt;AJ: What was the process for getting the bhyve port caught up to current FreeBSD?&lt;/li&gt;
&lt;li&gt;BR: How usable is bhyve on illumOS?&lt;/li&gt;
&lt;li&gt;AJ: What area are you most interested in improving in bhyve?&lt;/li&gt;
&lt;li&gt;BR: Do you think the FreeBSD and illumos versions of bhyve will stay in sync with each other?&lt;/li&gt;
&lt;li&gt;AJ: What do you do for fun?&lt;/li&gt;
&lt;li&gt;BR: Anything else you want to mention?&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener"&gt;Setting up buildbot in FreeBSD Jails&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Table of contents&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Choosing host operating system and version for buildbot&lt;/li&gt;
&lt;li&gt;Create a FreeBSD playground&lt;/li&gt;
&lt;li&gt;Introduction to jails&lt;/li&gt;
&lt;li&gt;Overview of buildbot&lt;/li&gt;
&lt;li&gt;Set up jails&lt;/li&gt;
&lt;li&gt;Install buildbot master&lt;/li&gt;
&lt;li&gt;Run buildbot master&lt;/li&gt;
&lt;li&gt;Install buildbot worker&lt;/li&gt;
&lt;li&gt;Run buildbot worker&lt;/li&gt;
&lt;li&gt;Set up web server nginx to access buildbot UI&lt;/li&gt;
&lt;li&gt;Run your first build&lt;/li&gt;
&lt;li&gt;Production hints&lt;/li&gt;
&lt;li&gt;Finished!&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choosing host operating system and version for buildbot&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;We choose the released version of FreeBSD (11.1-RELEASE at the moment). There is no particular reason for it, and as a matter of fact buildbot as a Python-based server is very cross-platform; therefore the underlying OS platform and version should not make a large difference.&lt;/p&gt;
  
  &lt;p&gt;It will make a difference for what you do with buildbot, however. For instance, poudriere is the de-facto standard for building packages from source on FreeBSD. Builds run in jails which may be any FreeBSD base system version older or equal to the host’s version (reason will be explained below). In other words, if the host is FreeBSD 11.1, build jails created by poudriere could e.g. use 9.1, 10.3, 11.0, 11.1, but potentially not version 12 or newer because of incompatibilities with the host’s kernel (jails do not run their own kernel as full virtual machines do). To not prolong this article over the intended scope, the details of which nice things could be done or automated with buildbot are not covered.&lt;/p&gt;
  
  &lt;p&gt;Package names on the FreeBSD platform are independent of the OS version, since external software (as in: not part of base system) is maintained in FreeBSD ports. So, if your chosen FreeBSD version (here: 11) is still officially supported, the packages mentioned in this post should work. In the unlikely event of package name changes before you read this article, you should be able to find the actual package names like pkg search buildbot.&lt;/p&gt;
  
  &lt;p&gt;Other operating systems like the various Linux distributions will use different package names but might also offer buildbot pre-packaged. If not, the buildbot installation manual offers steps to install it manually. In such case, the downside is that you will have to maintain and update the buildbot modules outside the stability and (semi-)automatic updates of your OS packages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See &lt;a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener"&gt;article&lt;/a&gt; for the rest&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://www.grenadille.net/post/2018/03/29/Dumping-your-USB" target="_blank" rel="nofollow noopener"&gt;Dumping your USB&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;One of the many new features of OpenBSD 6.3 is the possibility to dump USB traffic to userland via bpf(4). This can be done with tcpdump(8) by specifying a USB bus as interface:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;```&lt;/p&gt;

tcpdump -Xx -i usb0

&lt;p&gt;tcpdump: listening on usb0, link-type USBPCAP
12:28:03.317945 bus 0 &amp;lt; addr 1: ep1 intr 2
  0000: 0400                                     ..&lt;/p&gt;

&lt;p&gt;12:28:03.318018 bus 0 &amp;gt; addr 1: ep0 ctrl 8
  0000: 00a3 0000 0002 0004 00                   ......... &lt;br&gt;
[...]
```&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;As you might have noted I decided to implement the existing USBPcap capture format. A capture format is required because USB packets do not include all the necessary information to properly interpret them. I first thought I would implement libpcap's DLT&lt;em&gt;USB but then I quickly realize that this was not a standard. It is instead a FreeBSD specific format which has been since then renamed DLT&lt;/em&gt;USB&lt;em&gt;FREEBSD.
  But I didn't want to embrace xkcd #927, so I look at the existing formats: DLT&lt;/em&gt;USB&lt;em&gt;FREEBSD, DLT&lt;/em&gt;USB&lt;em&gt;LINUX, DLT&lt;/em&gt;USB&lt;em&gt;LINUX&lt;/em&gt;MMAPPED, DLT&lt;em&gt;USB&lt;/em&gt;DARWIN and DLT_USBPCAP. I was first a bit sad to see that nobody could agree on a common format then I moved on and picked the simplest one: USBPcap.
  Implementing an already existing format gives us out-of-box support for all the tools supporting it. That's why having common formats let us share our energy. In the case of USBPcap it is already supported by Wireshark, so you can already inspect your packet graphically. For that you need to first capture raw packets:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;```&lt;/p&gt;

tcpdump -s 3303 -w usb.pcap -i usb0

&lt;p&gt;tcpdump: listening on usb0, link-type USBPCAP
^C
208 packets received by filter
0 packets dropped by kernel
```&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;USB packets can be quite big, that's why I'm not using tcpdump(8)'s default packet size. In this case, I want to make sure I can dump the complete uaudio(4) frames.
  It is important to say that what is dumped to userland is what the USB stack sees. Packets sent on the wire might differ, especially when it comes to retries and timing. So this feature is not here to replace any USB analyser, however I hope that it will help people understand how things work and what the USB stack is doing. Even I found some interesting timing issues while implementing isochronous support.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.romanzolotarev.com/openbsd/webserver.html" target="_blank" rel="nofollow noopener"&gt;Run OpenBSD on your web server&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.romanzolotarev.com/vultr.html" target="_blank" rel="nofollow noopener"&gt;Deploy and login to your OpenBSD server first.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;As soon as you're there you can enable an httpd(8) daemon, it's already installed on OpenBSD, you just need to configure it:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;www# vi /etc/httpd.conf&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add two server sections---one for www and another for naked domain (all requests are redirected to www).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;```
server "www.example.com" {
  listen on * port 80
  root "/htdocs/www.example.com"
}&lt;/p&gt;

&lt;p&gt;server "example.com" {
  listen on * port 80
  block return 301 "http://www.example.com$REQUEST_URI"
}
```&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;httpd is chrooted to /var/www by default, so let's make a document root directory:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;www# mkdir -p /var/www/htdocs/www.example.com&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Save and check this configuration:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;
www# httpd -n
configuration ok
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable httpd(8) daemon and start it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;
www# rcctl enable httpd
www# rcctl start httpd
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Publish your website&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy your website content into /var/www/htdocs/www.example.com and then test it your web browser.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;http://XXX.XXX.XXX.XXX/&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Your web server should be up and running.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Update DNS records&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;If there is another HTTPS server using this domain, configure that server to redirect all HTTPS requests to HTTP.&lt;/p&gt;
  
  &lt;p&gt;Now as your new server is ready you can update DNS records accordingly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
    example.com. 300 IN     A XXX.XXX.XXX.XXX
www.example.com. 300 IN     A XXX.XXX.XXX.XXX
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Examine your DNS is propagated.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ dig example.com www.example.com&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Check IP addresses it answer sections. If they are correct, you should be able to access your new web server by its domain name.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.romanzolotarev.com/openbsd/acme-client.html" target="_blank" rel="nofollow noopener"&gt;What's next? Enable HTTPS on your server.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/bobulate/?p=1827" target="_blank" rel="nofollow noopener"&gt;Modern Akonadi and KMail on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;For, quite literally a year or more, KMail and Akonadi on FreeBSD have been only marginally useful, at best. KDE4 era KMail was pretty darn good, but everything after that has had a number of FreeBSD users tearing out their hair. Sure, you can go to Trojitá, which has its own special problems and is generally “meh”, or bail out entirely to webmail, but .. KMail is a really great mail client when it works. Which, on Linux desktops, is nearly always, and on FreeBSD, is was nearly never.&lt;/p&gt;
  
  &lt;p&gt;I looked at it with Dan and Volker last summer, briefly, and we got not much further than “hmm”. There’s a message about “The world is going to end!” which hardly makes sense, it means that a message has been truncated or corrupted while traversing a UNIX domain socket.&lt;/p&gt;
  
  &lt;p&gt;Now Alexandre Martins — praise be! — has wandered in with a likely solution. KDE Bug 381850 contains a suggestion, which deserves to be publicised (and tested):&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;sysctl net.local.stream.recvspace=65536&lt;/code&gt;
&lt;code&gt;sysctl net.local.stream.sendspace=65536&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The default FreeBSD UNIX local socket buffer space is 8kiB. Bumping the size up to 64kiB — which matches the size that Linux has by default — suddenly makes KMail and Akonadi shine again. No other changes, no recompiling, just .. bump the sysctls (perhaps also in /etc/sysctl.conf) and KMail from Area51 hums along all day without ending the world.&lt;/p&gt;
  
  &lt;p&gt;Since changing this value may have other effects, and Akonadi shouldn’t be dependent on a specific buffer size anyway, I’m looking into the Akonadi code (encouraged by Dan) to either automatically size the socket buffers, or to figure out where in the underlying code the assumption about buffer size lives. So for now, sysctl can make KMail users on FreeBSD happy, and later we hope to have things fully automatic (and if that doesn’t pan out, well, pkg-message exists).&lt;/p&gt;
  
  &lt;p&gt;PS. Modern KDE PIM applications — Akonadi, KMail — which live in the deskutils/ category of the official FreeBSD ports were added to the official tree April 10th, so you can get your fix now from the official tree.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2018-April/335722.html" target="_blank" rel="nofollow noopener"&gt;pkg-provides support for DragonFly (from Rodrigo Osorio)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://monades.roperzh.com/memories-writing-parser-man-pages/" target="_blank" rel="nofollow noopener"&gt;Memories of writing a parser for man pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developeronfire.com/podcast/episode-198-bryan-cantrill-persistence-and-action" target="_blank" rel="nofollow noopener"&gt;Bryan Cantrill interview over at DeveloperOnFire podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://minnie.tuhs.org/pipermail/tuhs/2018-March/013285.html" target="_blank" rel="nofollow noopener"&gt;1978-03-25 - 2018-03-25: 40 years BSD Mail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://imgur.com/a/KOTJS" target="_blank" rel="nofollow noopener"&gt;My 5 years of FreeBSD gaming: a compendium of free games and engines running natively on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D15562" target="_blank" rel="nofollow noopener"&gt;Sequential Resilver being upstreamed to FreeBSD, from FreeNAS, where it was ported from ZFS-on-Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener"&gt;University of Aberdeen’s Internet Transport Research Group is hiring  &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap ad&lt;/strong&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Dave - &lt;a href="http://dpaste.com/0KHRB4Z#wrap" target="_blank" rel="nofollow noopener"&gt;mounting non-filesystem things inside jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Morgan - &lt;a href="http://dpaste.com/10QD42T#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS on Linux Data loss bug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rene - &lt;a href="http://dpaste.com/30VM51S#wrap" target="_blank" rel="nofollow noopener"&gt;How to keep your ISP’s nose out of your browser history with encrypted DNS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rodriguez - &lt;a href="http://dpaste.com/3WVYR9D#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback question! Relating to Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, HAMMER2, PS4, Kernel Exploit, debugging</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonflyBSD release 5.2.1 is here, BPF kernel exploit writeup, Remote Debugging the running OpenBSD kernel, interview with Patrick Mooney, FreeBSD buildbot setup in a jail, dumping your USB, and 5 years of gaming on FreeBSD.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener">DragonFlyBSD: release52 (w/stable HAMMER2, as default root)</a></h3>

<ul>
<li>DragonflyBSD 5.2.1 was released on May 21, 2018</li>
<li>&gt; Big Ticket items:


<blockquote>
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre<em>mitigation and machdep.meltdown</em>mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP<em>MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO</em>BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.</blockquote></li>
  </ul>
  <hr>


<h3><a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener">PS4 4.55 BPF Race Condition Kernel Exploit Writeup</a></h3>



<blockquote>
  <p>Note: While this bug is primarily interesting for exploitation on the PS4, this bug can also potentially be exploited on other unpatched platforms using FreeBSD if the attacker has read/write permissions on /dev/bpf, or if they want to escalate from root user to kernel code execution. As such, I've published it under the "FreeBSD" folder and not the "PS4" folder.</p>
</blockquote>

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

<blockquote>
  <p>Welcome to the kernel portion of the PS4 4.55FW full exploit chain write-up. This bug was found by qwerty, and is fairly unique in the way it's exploited, so I wanted to do a detailed write-up on how it worked. The full source of the exploit can be found <a href="https://github.com/Cryptogenic/PS4-4.55-Kernel-Exploit" target="_blank" rel="nofollow noopener">here</a>. I've previously covered the webkit exploit implementation for userland access <a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/WebKit/setAttributeNodeNS%20UAF%20Write-up.md" target="_blank" rel="nofollow noopener">here</a>.</p>
</blockquote>

<ul>
<li>FreeBSD or Sony's fault? Why not both...</li>
</ul>

<blockquote>
  <p>Interestingly, this bug is actually a FreeBSD bug and was not (at least directly) introduced by Sony code. While this is a FreeBSD bug however, it's not very useful for most systems because the /dev/bpf device driver is root-owned, and the permissions for it are set to 0600 (meaning owner has read/write privileges, and nobody else does) - though it can be used for escalating from root to kernel mode code execution. However, let’s take a look at the make_dev() call inside the PS4 kernel for /dev/bpf (taken from a 4.05 kernel dump).</p>
</blockquote>

<p><code>
seg000:FFFFFFFFA181F15B                 lea     rdi, unk_FFFFFFFFA2D77640
seg000:FFFFFFFFA181F162                 lea     r9, aBpf        ; "bpf"
seg000:FFFFFFFFA181F169                 mov     esi, 0
seg000:FFFFFFFFA181F16E                 mov     edx, 0
seg000:FFFFFFFFA181F173                 xor     ecx, ecx
seg000:FFFFFFFFA181F175                 mov     r8d, 1B6h
seg000:FFFFFFFFA181F17B                 xor     eax, eax
seg000:FFFFFFFFA181F17D                 mov     cs:qword_FFFFFFFFA34EC770, 0
seg000:FFFFFFFFA181F188                 call    make_dev
</code></p>

<blockquote>
  <p>We see UID 0 (the UID for the root user) getting moved into the register for the 3rd argument, which is the owner argument. However, the permissions bits are being set to 0x1B6, which in octal is 0666. This means anyone can open /dev/bpf with read/write privileges. I’m not sure why this is the case, qwerty speculates that perhaps bpf is used for LAN gaming. In any case, this was a poor design decision because bpf is usually considered privileged, and should not be accessible to a process that is completely untrusted, such as WebKit. On most platforms, permissions for /dev/bpf will be set to 0x180, or 0600.</p>
</blockquote>

<ul>
<li>Race Conditions - What are they?</li>
</ul>

<blockquote>
  <p>The class of the bug abused in this exploit is known as a "race condition". Before we get into bug specifics, it's important for the reader to understand what race conditions are and how they can be an issue (especially in something like a kernel). Often in complex software (such as a kernel), resources will be shared (or "global"). This means other threads could potentially execute code that will access some resource that could be accessed by another thread at the same point in time. What happens if one thread accesses this resource while another thread does without exclusive access? Race conditions are introduced.</p>
  
  <p>Race conditions are defined as possible scenarios where events happen in a sequence different than the developer intended which leads to undefined behavior. In simple, single-threaded programs, this is not an issue because execution is linear. In more complex programs where code can be running in parallel however, this becomes a real issue. To prevent these problems, atomic instructions and locking mechanisms were introduced. When one thread wants to access a critical resource, it will attempt to acquire a "lock". If another thread is already using this resource, generally the thread attempting to acquire the lock will wait until the other thread is finished with it. Each thread must release the lock to the resource after they're done with it, failure to do so could result in a deadlock.</p>
  
  <p>While locking mechanisms such as mutexes have been introduced, developers sometimes struggle to use them properly. For example, what if a piece of shared data gets validated and processed, but while the processing of the data is locked, the validation is not? There is a window between validation and locking where that data can change, and while the developer thinks the data has been validated, it could be substituted with something malicious after it is validated, but before it is used. Parallel programming can be difficult, especially when, as a developer, you also want to factor in the fact that you don't want to put too much code in between locking and unlocking as it can impact performance.</p>
</blockquote>

<ul>
<li>See <a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener">article</a> for the rest</li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<h3><a href="http://bijanebrahimi.github.io/blog/remote-debugging-the-running-openbsd-kernel.html" target="_blank" rel="nofollow noopener">Remote Debugging the running OpenBSD kernel</a></h3>

<ul>
<li>Subtitled: A way to understand the OpenBSD internals
+&gt; The Problem
+&gt; A few month ago, I tried porting the FreeBSD kdb along with it's gdb stub implementations to OpenBSD as a practice of learning the internals of an BSD operating system. The ddb code in both FreeBSD and OpenBSD looks pretty much the same and the GDB Remote Serial Protocol looks very minimal.
+&gt; But sadly I got very busy and the work is stalled but I'm planning on resuming the attempt as soon as I get the chance, But there is an alternative way to Debugging the OpenBSD kernel via QEMU. What I did below is basically the same with a few minor changes which I hope to describe it as best.
+&gt; Installing OpenBSD on Qemu
+&gt; For debugging the kernel, we need a working OpenBSD system running on Qemu. I chose to create a raw disk file to be able to easily mount it later via the host and copy the custom kernel onto it.


<blockquote>
  $ qemu-img create -f raw disk.raw 5G
  $ qemu-system-x86<em>64 -m 256M \
  -drive format=raw,file=install63.fs \
  -drive format=raw,file=disk.raw
  +&gt; Custom Kernel
  +&gt; To debug the kernel, we need a version of the kernel with debugging symbols and for that we have to recompile it first. The process is documented at Building the System from Source:
  ...
  +&gt; Then we can copy the bsd kernel to the guest machine and keep the bsd.gdb on the host to start the remote debugging via gdb.
  +&gt; Remote debugging kernel
  +&gt; Now it's to time to boot the guest with the new custom kernel. Remember that the -s argument enables the gdb server on qemu on localhost port 1234 by default:
  $ qemu-system-x86</em>64 -m 256M -s \
     -net nic -net user \
  -drive format=raw,file=install63.fs \
  +&gt; Now to finally attach to the running kernel:</blockquote></li>
  </ul>
  <hr>


<h2>Interview - Patrick Mooney - Software Engineer <a href="pmooney@pfmooney.com" target="_blank" rel="nofollow noopener">pmooney@pfmooney.com</a> / <a href="https://twitter.com/pfmooney" target="_blank" rel="nofollow noopener">@pfmooney</a></h2>

<ul>
<li>BR: How did you first get introduced to UNIX?</li>
<li>AJ: What got you started contributing to an open source project?</li>
<li>BR: What sorts of things have you worked on in the past?</li>
<li>AJ: Can you tell us more about what attracted you to illumos?</li>
<li>BR: How did you get interested in, and started with, systems development?</li>
<li>AJ: When did you first get interested in bhyve?</li>
<li>BR: How much work was it to take the years-old port of bhyve and get it working on modern IllumOS?</li>
<li>AJ: What was the process for getting the bhyve port caught up to current FreeBSD?</li>
<li>BR: How usable is bhyve on illumOS?</li>
<li>AJ: What area are you most interested in improving in bhyve?</li>
<li>BR: Do you think the FreeBSD and illumos versions of bhyve will stay in sync with each other?</li>
<li>AJ: What do you do for fun?</li>
<li>BR: Anything else you want to mention?</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">Setting up buildbot in FreeBSD Jails</a></h3>

<blockquote>
  <p>In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.</p>
</blockquote>

<ul>
<li><p>Table of contents</p>

<ul><li>Choosing host operating system and version for buildbot</li>
<li>Create a FreeBSD playground</li>
<li>Introduction to jails</li>
<li>Overview of buildbot</li>
<li>Set up jails</li>
<li>Install buildbot master</li>
<li>Run buildbot master</li>
<li>Install buildbot worker</li>
<li>Run buildbot worker</li>
<li>Set up web server nginx to access buildbot UI</li>
<li>Run your first build</li>
<li>Production hints</li>
<li>Finished!</li></ul></li>
<li><p>Choosing host operating system and version for buildbot</p></li>
</ul>

<blockquote>
  <p>We choose the released version of FreeBSD (11.1-RELEASE at the moment). There is no particular reason for it, and as a matter of fact buildbot as a Python-based server is very cross-platform; therefore the underlying OS platform and version should not make a large difference.</p>
  
  <p>It will make a difference for what you do with buildbot, however. For instance, poudriere is the de-facto standard for building packages from source on FreeBSD. Builds run in jails which may be any FreeBSD base system version older or equal to the host’s version (reason will be explained below). In other words, if the host is FreeBSD 11.1, build jails created by poudriere could e.g. use 9.1, 10.3, 11.0, 11.1, but potentially not version 12 or newer because of incompatibilities with the host’s kernel (jails do not run their own kernel as full virtual machines do). To not prolong this article over the intended scope, the details of which nice things could be done or automated with buildbot are not covered.</p>
  
  <p>Package names on the FreeBSD platform are independent of the OS version, since external software (as in: not part of base system) is maintained in FreeBSD ports. So, if your chosen FreeBSD version (here: 11) is still officially supported, the packages mentioned in this post should work. In the unlikely event of package name changes before you read this article, you should be able to find the actual package names like pkg search buildbot.</p>
  
  <p>Other operating systems like the various Linux distributions will use different package names but might also offer buildbot pre-packaged. If not, the buildbot installation manual offers steps to install it manually. In such case, the downside is that you will have to maintain and update the buildbot modules outside the stability and (semi-)automatic updates of your OS packages.</p>
</blockquote>

<ul>
<li>See <a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">article</a> for the rest</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong></p>

<h3><a href="http://www.grenadille.net/post/2018/03/29/Dumping-your-USB" target="_blank" rel="nofollow noopener">Dumping your USB</a></h3>

<blockquote>
  <p>One of the many new features of OpenBSD 6.3 is the possibility to dump USB traffic to userland via bpf(4). This can be done with tcpdump(8) by specifying a USB bus as interface:</p>
</blockquote>

<p>```</p>

tcpdump -Xx -i usb0

<p>tcpdump: listening on usb0, link-type USBPCAP
12:28:03.317945 bus 0 &lt; addr 1: ep1 intr 2
  0000: 0400                                     ..</p>

<p>12:28:03.318018 bus 0 &gt; addr 1: ep0 ctrl 8
  0000: 00a3 0000 0002 0004 00                   ......... <br>
[...]
```</p>

<blockquote>
  <p>As you might have noted I decided to implement the existing USBPcap capture format. A capture format is required because USB packets do not include all the necessary information to properly interpret them. I first thought I would implement libpcap's DLT<em>USB but then I quickly realize that this was not a standard. It is instead a FreeBSD specific format which has been since then renamed DLT</em>USB<em>FREEBSD.
  But I didn't want to embrace xkcd #927, so I look at the existing formats: DLT</em>USB<em>FREEBSD, DLT</em>USB<em>LINUX, DLT</em>USB<em>LINUX</em>MMAPPED, DLT<em>USB</em>DARWIN and DLT_USBPCAP. I was first a bit sad to see that nobody could agree on a common format then I moved on and picked the simplest one: USBPcap.
  Implementing an already existing format gives us out-of-box support for all the tools supporting it. That's why having common formats let us share our energy. In the case of USBPcap it is already supported by Wireshark, so you can already inspect your packet graphically. For that you need to first capture raw packets:</p>
</blockquote>

<p>```</p>

tcpdump -s 3303 -w usb.pcap -i usb0

<p>tcpdump: listening on usb0, link-type USBPCAP
^C
208 packets received by filter
0 packets dropped by kernel
```</p>

<blockquote>
  <p>USB packets can be quite big, that's why I'm not using tcpdump(8)'s default packet size. In this case, I want to make sure I can dump the complete uaudio(4) frames.
  It is important to say that what is dumped to userland is what the USB stack sees. Packets sent on the wire might differ, especially when it comes to retries and timing. So this feature is not here to replace any USB analyser, however I hope that it will help people understand how things work and what the USB stack is doing. Even I found some interesting timing issues while implementing isochronous support.</p>
</blockquote>

<hr>

<h3><a href="https://www.romanzolotarev.com/openbsd/webserver.html" target="_blank" rel="nofollow noopener">Run OpenBSD on your web server</a></h3>

<ul>
<li><a href="https://www.romanzolotarev.com/vultr.html" target="_blank" rel="nofollow noopener">Deploy and login to your OpenBSD server first.</a></li>
</ul>

<blockquote>
  <p>As soon as you're there you can enable an httpd(8) daemon, it's already installed on OpenBSD, you just need to configure it:</p>
</blockquote>

<p><code>www# vi /etc/httpd.conf</code></p>

<ul>
<li>Add two server sections---one for www and another for naked domain (all requests are redirected to www).</li>
</ul>

<p>```
server "www.example.com" {
  listen on * port 80
  root "/htdocs/www.example.com"
}</p>

<p>server "example.com" {
  listen on * port 80
  block return 301 "http://www.example.com$REQUEST_URI"
}
```</p>

<ul>
<li>httpd is chrooted to /var/www by default, so let's make a document root directory:</li>
</ul>

<p><code>www# mkdir -p /var/www/htdocs/www.example.com</code></p>

<ul>
<li>Save and check this configuration:</li>
</ul>

<p><code>
www# httpd -n
configuration ok
</code></p>

<ul>
<li>Enable httpd(8) daemon and start it.</li>
</ul>

<p><code>
www# rcctl enable httpd
www# rcctl start httpd
</code></p>

<ul>
<li><p>Publish your website</p></li>
<li><p>Copy your website content into /var/www/htdocs/www.example.com and then test it your web browser.</p></li>
</ul>

<p><code>http://XXX.XXX.XXX.XXX/</code></p>

<blockquote>
  <p>Your web server should be up and running.</p>
</blockquote>

<ul>
<li>Update DNS records</li>
</ul>

<blockquote>
  <p>If there is another HTTPS server using this domain, configure that server to redirect all HTTPS requests to HTTP.</p>
  
  <p>Now as your new server is ready you can update DNS records accordingly.</p>
</blockquote>

<p><code>
    example.com. 300 IN     A XXX.XXX.XXX.XXX
www.example.com. 300 IN     A XXX.XXX.XXX.XXX
</code></p>

<ul>
<li>Examine your DNS is propagated.</li>
</ul>

<p><code>$ dig example.com www.example.com</code></p>

<ul>
<li><p>Check IP addresses it answer sections. If they are correct, you should be able to access your new web server by its domain name.</p></li>
<li><p><a href="https://www.romanzolotarev.com/openbsd/acme-client.html" target="_blank" rel="nofollow noopener">What's next? Enable HTTPS on your server.</a></p></li>
</ul>

<hr>

<h3><a href="https://euroquis.nl/bobulate/?p=1827" target="_blank" rel="nofollow noopener">Modern Akonadi and KMail on FreeBSD</a></h3>

<blockquote>
  <p>For, quite literally a year or more, KMail and Akonadi on FreeBSD have been only marginally useful, at best. KDE4 era KMail was pretty darn good, but everything after that has had a number of FreeBSD users tearing out their hair. Sure, you can go to Trojitá, which has its own special problems and is generally “meh”, or bail out entirely to webmail, but .. KMail is a really great mail client when it works. Which, on Linux desktops, is nearly always, and on FreeBSD, is was nearly never.</p>
  
  <p>I looked at it with Dan and Volker last summer, briefly, and we got not much further than “hmm”. There’s a message about “The world is going to end!” which hardly makes sense, it means that a message has been truncated or corrupted while traversing a UNIX domain socket.</p>
  
  <p>Now Alexandre Martins — praise be! — has wandered in with a likely solution. KDE Bug 381850 contains a suggestion, which deserves to be publicised (and tested):</p>
</blockquote>

<p><code>sysctl net.local.stream.recvspace=65536</code>
<code>sysctl net.local.stream.sendspace=65536</code></p>

<blockquote>
  <p>The default FreeBSD UNIX local socket buffer space is 8kiB. Bumping the size up to 64kiB — which matches the size that Linux has by default — suddenly makes KMail and Akonadi shine again. No other changes, no recompiling, just .. bump the sysctls (perhaps also in /etc/sysctl.conf) and KMail from Area51 hums along all day without ending the world.</p>
  
  <p>Since changing this value may have other effects, and Akonadi shouldn’t be dependent on a specific buffer size anyway, I’m looking into the Akonadi code (encouraged by Dan) to either automatically size the socket buffers, or to figure out where in the underlying code the assumption about buffer size lives. So for now, sysctl can make KMail users on FreeBSD happy, and later we hope to have things fully automatic (and if that doesn’t pan out, well, pkg-message exists).</p>
  
  <p>PS. Modern KDE PIM applications — Akonadi, KMail — which live in the deskutils/ category of the official FreeBSD ports were added to the official tree April 10th, so you can get your fix now from the official tree.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2018-April/335722.html" target="_blank" rel="nofollow noopener">pkg-provides support for DragonFly (from Rodrigo Osorio)</a></li>
<li><a href="https://monades.roperzh.com/memories-writing-parser-man-pages/" target="_blank" rel="nofollow noopener">Memories of writing a parser for man pages</a></li>
<li><a href="http://developeronfire.com/podcast/episode-198-bryan-cantrill-persistence-and-action" target="_blank" rel="nofollow noopener">Bryan Cantrill interview over at DeveloperOnFire podcast</a></li>
<li><a href="http://minnie.tuhs.org/pipermail/tuhs/2018-March/013285.html" target="_blank" rel="nofollow noopener">1978-03-25 - 2018-03-25: 40 years BSD Mail</a></li>
<li><a href="https://imgur.com/a/KOTJS" target="_blank" rel="nofollow noopener">My 5 years of FreeBSD gaming: a compendium of free games and engines running natively on FreeBSD</a></li>
<li><a href="https://reviews.freebsd.org/D15562" target="_blank" rel="nofollow noopener">Sequential Resilver being upstreamed to FreeBSD, from FreeNAS, where it was ported from ZFS-on-Linux</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener">University of Aberdeen’s Internet Transport Research Group is hiring  </a></li>
</ul>

<hr>

<p><strong>Tarsnap ad</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Dave - <a href="http://dpaste.com/0KHRB4Z#wrap" target="_blank" rel="nofollow noopener">mounting non-filesystem things inside jails</a></li>
<li>Morgan - <a href="http://dpaste.com/10QD42T#wrap" target="_blank" rel="nofollow noopener">ZFS on Linux Data loss bug</a></li>
<li>Rene - <a href="http://dpaste.com/30VM51S#wrap" target="_blank" rel="nofollow noopener">How to keep your ISP’s nose out of your browser history with encrypted DNS</a></li>
<li>Rodriguez - <a href="http://dpaste.com/3WVYR9D#wrap" target="_blank" rel="nofollow noopener">Feedback question! Relating to Windows</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonflyBSD release 5.2.1 is here, BPF kernel exploit writeup, Remote Debugging the running OpenBSD kernel, interview with Patrick Mooney, FreeBSD buildbot setup in a jail, dumping your USB, and 5 years of gaming on FreeBSD.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener">DragonFlyBSD: release52 (w/stable HAMMER2, as default root)</a></h3>

<ul>
<li>DragonflyBSD 5.2.1 was released on May 21, 2018</li>
<li>&gt; Big Ticket items:


<blockquote>
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre<em>mitigation and machdep.meltdown</em>mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP<em>MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO</em>BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.</blockquote></li>
  </ul>
  <hr>


<h3><a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener">PS4 4.55 BPF Race Condition Kernel Exploit Writeup</a></h3>



<blockquote>
  <p>Note: While this bug is primarily interesting for exploitation on the PS4, this bug can also potentially be exploited on other unpatched platforms using FreeBSD if the attacker has read/write permissions on /dev/bpf, or if they want to escalate from root user to kernel code execution. As such, I've published it under the "FreeBSD" folder and not the "PS4" folder.</p>
</blockquote>

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

<blockquote>
  <p>Welcome to the kernel portion of the PS4 4.55FW full exploit chain write-up. This bug was found by qwerty, and is fairly unique in the way it's exploited, so I wanted to do a detailed write-up on how it worked. The full source of the exploit can be found <a href="https://github.com/Cryptogenic/PS4-4.55-Kernel-Exploit" target="_blank" rel="nofollow noopener">here</a>. I've previously covered the webkit exploit implementation for userland access <a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/WebKit/setAttributeNodeNS%20UAF%20Write-up.md" target="_blank" rel="nofollow noopener">here</a>.</p>
</blockquote>

<ul>
<li>FreeBSD or Sony's fault? Why not both...</li>
</ul>

<blockquote>
  <p>Interestingly, this bug is actually a FreeBSD bug and was not (at least directly) introduced by Sony code. While this is a FreeBSD bug however, it's not very useful for most systems because the /dev/bpf device driver is root-owned, and the permissions for it are set to 0600 (meaning owner has read/write privileges, and nobody else does) - though it can be used for escalating from root to kernel mode code execution. However, let’s take a look at the make_dev() call inside the PS4 kernel for /dev/bpf (taken from a 4.05 kernel dump).</p>
</blockquote>

<p><code>
seg000:FFFFFFFFA181F15B                 lea     rdi, unk_FFFFFFFFA2D77640
seg000:FFFFFFFFA181F162                 lea     r9, aBpf        ; "bpf"
seg000:FFFFFFFFA181F169                 mov     esi, 0
seg000:FFFFFFFFA181F16E                 mov     edx, 0
seg000:FFFFFFFFA181F173                 xor     ecx, ecx
seg000:FFFFFFFFA181F175                 mov     r8d, 1B6h
seg000:FFFFFFFFA181F17B                 xor     eax, eax
seg000:FFFFFFFFA181F17D                 mov     cs:qword_FFFFFFFFA34EC770, 0
seg000:FFFFFFFFA181F188                 call    make_dev
</code></p>

<blockquote>
  <p>We see UID 0 (the UID for the root user) getting moved into the register for the 3rd argument, which is the owner argument. However, the permissions bits are being set to 0x1B6, which in octal is 0666. This means anyone can open /dev/bpf with read/write privileges. I’m not sure why this is the case, qwerty speculates that perhaps bpf is used for LAN gaming. In any case, this was a poor design decision because bpf is usually considered privileged, and should not be accessible to a process that is completely untrusted, such as WebKit. On most platforms, permissions for /dev/bpf will be set to 0x180, or 0600.</p>
</blockquote>

<ul>
<li>Race Conditions - What are they?</li>
</ul>

<blockquote>
  <p>The class of the bug abused in this exploit is known as a "race condition". Before we get into bug specifics, it's important for the reader to understand what race conditions are and how they can be an issue (especially in something like a kernel). Often in complex software (such as a kernel), resources will be shared (or "global"). This means other threads could potentially execute code that will access some resource that could be accessed by another thread at the same point in time. What happens if one thread accesses this resource while another thread does without exclusive access? Race conditions are introduced.</p>
  
  <p>Race conditions are defined as possible scenarios where events happen in a sequence different than the developer intended which leads to undefined behavior. In simple, single-threaded programs, this is not an issue because execution is linear. In more complex programs where code can be running in parallel however, this becomes a real issue. To prevent these problems, atomic instructions and locking mechanisms were introduced. When one thread wants to access a critical resource, it will attempt to acquire a "lock". If another thread is already using this resource, generally the thread attempting to acquire the lock will wait until the other thread is finished with it. Each thread must release the lock to the resource after they're done with it, failure to do so could result in a deadlock.</p>
  
  <p>While locking mechanisms such as mutexes have been introduced, developers sometimes struggle to use them properly. For example, what if a piece of shared data gets validated and processed, but while the processing of the data is locked, the validation is not? There is a window between validation and locking where that data can change, and while the developer thinks the data has been validated, it could be substituted with something malicious after it is validated, but before it is used. Parallel programming can be difficult, especially when, as a developer, you also want to factor in the fact that you don't want to put too much code in between locking and unlocking as it can impact performance.</p>
</blockquote>

<ul>
<li>See <a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener">article</a> for the rest</li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<h3><a href="http://bijanebrahimi.github.io/blog/remote-debugging-the-running-openbsd-kernel.html" target="_blank" rel="nofollow noopener">Remote Debugging the running OpenBSD kernel</a></h3>

<ul>
<li>Subtitled: A way to understand the OpenBSD internals
+&gt; The Problem
+&gt; A few month ago, I tried porting the FreeBSD kdb along with it's gdb stub implementations to OpenBSD as a practice of learning the internals of an BSD operating system. The ddb code in both FreeBSD and OpenBSD looks pretty much the same and the GDB Remote Serial Protocol looks very minimal.
+&gt; But sadly I got very busy and the work is stalled but I'm planning on resuming the attempt as soon as I get the chance, But there is an alternative way to Debugging the OpenBSD kernel via QEMU. What I did below is basically the same with a few minor changes which I hope to describe it as best.
+&gt; Installing OpenBSD on Qemu
+&gt; For debugging the kernel, we need a working OpenBSD system running on Qemu. I chose to create a raw disk file to be able to easily mount it later via the host and copy the custom kernel onto it.


<blockquote>
  $ qemu-img create -f raw disk.raw 5G
  $ qemu-system-x86<em>64 -m 256M \
  -drive format=raw,file=install63.fs \
  -drive format=raw,file=disk.raw
  +&gt; Custom Kernel
  +&gt; To debug the kernel, we need a version of the kernel with debugging symbols and for that we have to recompile it first. The process is documented at Building the System from Source:
  ...
  +&gt; Then we can copy the bsd kernel to the guest machine and keep the bsd.gdb on the host to start the remote debugging via gdb.
  +&gt; Remote debugging kernel
  +&gt; Now it's to time to boot the guest with the new custom kernel. Remember that the -s argument enables the gdb server on qemu on localhost port 1234 by default:
  $ qemu-system-x86</em>64 -m 256M -s \
     -net nic -net user \
  -drive format=raw,file=install63.fs \
  +&gt; Now to finally attach to the running kernel:</blockquote></li>
  </ul>
  <hr>


<h2>Interview - Patrick Mooney - Software Engineer <a href="pmooney@pfmooney.com" target="_blank" rel="nofollow noopener">pmooney@pfmooney.com</a> / <a href="https://twitter.com/pfmooney" target="_blank" rel="nofollow noopener">@pfmooney</a></h2>

<ul>
<li>BR: How did you first get introduced to UNIX?</li>
<li>AJ: What got you started contributing to an open source project?</li>
<li>BR: What sorts of things have you worked on in the past?</li>
<li>AJ: Can you tell us more about what attracted you to illumos?</li>
<li>BR: How did you get interested in, and started with, systems development?</li>
<li>AJ: When did you first get interested in bhyve?</li>
<li>BR: How much work was it to take the years-old port of bhyve and get it working on modern IllumOS?</li>
<li>AJ: What was the process for getting the bhyve port caught up to current FreeBSD?</li>
<li>BR: How usable is bhyve on illumOS?</li>
<li>AJ: What area are you most interested in improving in bhyve?</li>
<li>BR: Do you think the FreeBSD and illumos versions of bhyve will stay in sync with each other?</li>
<li>AJ: What do you do for fun?</li>
<li>BR: Anything else you want to mention?</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">Setting up buildbot in FreeBSD Jails</a></h3>

<blockquote>
  <p>In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.</p>
</blockquote>

<ul>
<li><p>Table of contents</p>

<ul><li>Choosing host operating system and version for buildbot</li>
<li>Create a FreeBSD playground</li>
<li>Introduction to jails</li>
<li>Overview of buildbot</li>
<li>Set up jails</li>
<li>Install buildbot master</li>
<li>Run buildbot master</li>
<li>Install buildbot worker</li>
<li>Run buildbot worker</li>
<li>Set up web server nginx to access buildbot UI</li>
<li>Run your first build</li>
<li>Production hints</li>
<li>Finished!</li></ul></li>
<li><p>Choosing host operating system and version for buildbot</p></li>
</ul>

<blockquote>
  <p>We choose the released version of FreeBSD (11.1-RELEASE at the moment). There is no particular reason for it, and as a matter of fact buildbot as a Python-based server is very cross-platform; therefore the underlying OS platform and version should not make a large difference.</p>
  
  <p>It will make a difference for what you do with buildbot, however. For instance, poudriere is the de-facto standard for building packages from source on FreeBSD. Builds run in jails which may be any FreeBSD base system version older or equal to the host’s version (reason will be explained below). In other words, if the host is FreeBSD 11.1, build jails created by poudriere could e.g. use 9.1, 10.3, 11.0, 11.1, but potentially not version 12 or newer because of incompatibilities with the host’s kernel (jails do not run their own kernel as full virtual machines do). To not prolong this article over the intended scope, the details of which nice things could be done or automated with buildbot are not covered.</p>
  
  <p>Package names on the FreeBSD platform are independent of the OS version, since external software (as in: not part of base system) is maintained in FreeBSD ports. So, if your chosen FreeBSD version (here: 11) is still officially supported, the packages mentioned in this post should work. In the unlikely event of package name changes before you read this article, you should be able to find the actual package names like pkg search buildbot.</p>
  
  <p>Other operating systems like the various Linux distributions will use different package names but might also offer buildbot pre-packaged. If not, the buildbot installation manual offers steps to install it manually. In such case, the downside is that you will have to maintain and update the buildbot modules outside the stability and (semi-)automatic updates of your OS packages.</p>
</blockquote>

<ul>
<li>See <a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">article</a> for the rest</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong></p>

<h3><a href="http://www.grenadille.net/post/2018/03/29/Dumping-your-USB" target="_blank" rel="nofollow noopener">Dumping your USB</a></h3>

<blockquote>
  <p>One of the many new features of OpenBSD 6.3 is the possibility to dump USB traffic to userland via bpf(4). This can be done with tcpdump(8) by specifying a USB bus as interface:</p>
</blockquote>

<p>```</p>

tcpdump -Xx -i usb0

<p>tcpdump: listening on usb0, link-type USBPCAP
12:28:03.317945 bus 0 &lt; addr 1: ep1 intr 2
  0000: 0400                                     ..</p>

<p>12:28:03.318018 bus 0 &gt; addr 1: ep0 ctrl 8
  0000: 00a3 0000 0002 0004 00                   ......... <br>
[...]
```</p>

<blockquote>
  <p>As you might have noted I decided to implement the existing USBPcap capture format. A capture format is required because USB packets do not include all the necessary information to properly interpret them. I first thought I would implement libpcap's DLT<em>USB but then I quickly realize that this was not a standard. It is instead a FreeBSD specific format which has been since then renamed DLT</em>USB<em>FREEBSD.
  But I didn't want to embrace xkcd #927, so I look at the existing formats: DLT</em>USB<em>FREEBSD, DLT</em>USB<em>LINUX, DLT</em>USB<em>LINUX</em>MMAPPED, DLT<em>USB</em>DARWIN and DLT_USBPCAP. I was first a bit sad to see that nobody could agree on a common format then I moved on and picked the simplest one: USBPcap.
  Implementing an already existing format gives us out-of-box support for all the tools supporting it. That's why having common formats let us share our energy. In the case of USBPcap it is already supported by Wireshark, so you can already inspect your packet graphically. For that you need to first capture raw packets:</p>
</blockquote>

<p>```</p>

tcpdump -s 3303 -w usb.pcap -i usb0

<p>tcpdump: listening on usb0, link-type USBPCAP
^C
208 packets received by filter
0 packets dropped by kernel
```</p>

<blockquote>
  <p>USB packets can be quite big, that's why I'm not using tcpdump(8)'s default packet size. In this case, I want to make sure I can dump the complete uaudio(4) frames.
  It is important to say that what is dumped to userland is what the USB stack sees. Packets sent on the wire might differ, especially when it comes to retries and timing. So this feature is not here to replace any USB analyser, however I hope that it will help people understand how things work and what the USB stack is doing. Even I found some interesting timing issues while implementing isochronous support.</p>
</blockquote>

<hr>

<h3><a href="https://www.romanzolotarev.com/openbsd/webserver.html" target="_blank" rel="nofollow noopener">Run OpenBSD on your web server</a></h3>

<ul>
<li><a href="https://www.romanzolotarev.com/vultr.html" target="_blank" rel="nofollow noopener">Deploy and login to your OpenBSD server first.</a></li>
</ul>

<blockquote>
  <p>As soon as you're there you can enable an httpd(8) daemon, it's already installed on OpenBSD, you just need to configure it:</p>
</blockquote>

<p><code>www# vi /etc/httpd.conf</code></p>

<ul>
<li>Add two server sections---one for www and another for naked domain (all requests are redirected to www).</li>
</ul>

<p>```
server "www.example.com" {
  listen on * port 80
  root "/htdocs/www.example.com"
}</p>

<p>server "example.com" {
  listen on * port 80
  block return 301 "http://www.example.com$REQUEST_URI"
}
```</p>

<ul>
<li>httpd is chrooted to /var/www by default, so let's make a document root directory:</li>
</ul>

<p><code>www# mkdir -p /var/www/htdocs/www.example.com</code></p>

<ul>
<li>Save and check this configuration:</li>
</ul>

<p><code>
www# httpd -n
configuration ok
</code></p>

<ul>
<li>Enable httpd(8) daemon and start it.</li>
</ul>

<p><code>
www# rcctl enable httpd
www# rcctl start httpd
</code></p>

<ul>
<li><p>Publish your website</p></li>
<li><p>Copy your website content into /var/www/htdocs/www.example.com and then test it your web browser.</p></li>
</ul>

<p><code>http://XXX.XXX.XXX.XXX/</code></p>

<blockquote>
  <p>Your web server should be up and running.</p>
</blockquote>

<ul>
<li>Update DNS records</li>
</ul>

<blockquote>
  <p>If there is another HTTPS server using this domain, configure that server to redirect all HTTPS requests to HTTP.</p>
  
  <p>Now as your new server is ready you can update DNS records accordingly.</p>
</blockquote>

<p><code>
    example.com. 300 IN     A XXX.XXX.XXX.XXX
www.example.com. 300 IN     A XXX.XXX.XXX.XXX
</code></p>

<ul>
<li>Examine your DNS is propagated.</li>
</ul>

<p><code>$ dig example.com www.example.com</code></p>

<ul>
<li><p>Check IP addresses it answer sections. If they are correct, you should be able to access your new web server by its domain name.</p></li>
<li><p><a href="https://www.romanzolotarev.com/openbsd/acme-client.html" target="_blank" rel="nofollow noopener">What's next? Enable HTTPS on your server.</a></p></li>
</ul>

<hr>

<h3><a href="https://euroquis.nl/bobulate/?p=1827" target="_blank" rel="nofollow noopener">Modern Akonadi and KMail on FreeBSD</a></h3>

<blockquote>
  <p>For, quite literally a year or more, KMail and Akonadi on FreeBSD have been only marginally useful, at best. KDE4 era KMail was pretty darn good, but everything after that has had a number of FreeBSD users tearing out their hair. Sure, you can go to Trojitá, which has its own special problems and is generally “meh”, or bail out entirely to webmail, but .. KMail is a really great mail client when it works. Which, on Linux desktops, is nearly always, and on FreeBSD, is was nearly never.</p>
  
  <p>I looked at it with Dan and Volker last summer, briefly, and we got not much further than “hmm”. There’s a message about “The world is going to end!” which hardly makes sense, it means that a message has been truncated or corrupted while traversing a UNIX domain socket.</p>
  
  <p>Now Alexandre Martins — praise be! — has wandered in with a likely solution. KDE Bug 381850 contains a suggestion, which deserves to be publicised (and tested):</p>
</blockquote>

<p><code>sysctl net.local.stream.recvspace=65536</code>
<code>sysctl net.local.stream.sendspace=65536</code></p>

<blockquote>
  <p>The default FreeBSD UNIX local socket buffer space is 8kiB. Bumping the size up to 64kiB — which matches the size that Linux has by default — suddenly makes KMail and Akonadi shine again. No other changes, no recompiling, just .. bump the sysctls (perhaps also in /etc/sysctl.conf) and KMail from Area51 hums along all day without ending the world.</p>
  
  <p>Since changing this value may have other effects, and Akonadi shouldn’t be dependent on a specific buffer size anyway, I’m looking into the Akonadi code (encouraged by Dan) to either automatically size the socket buffers, or to figure out where in the underlying code the assumption about buffer size lives. So for now, sysctl can make KMail users on FreeBSD happy, and later we hope to have things fully automatic (and if that doesn’t pan out, well, pkg-message exists).</p>
  
  <p>PS. Modern KDE PIM applications — Akonadi, KMail — which live in the deskutils/ category of the official FreeBSD ports were added to the official tree April 10th, so you can get your fix now from the official tree.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2018-April/335722.html" target="_blank" rel="nofollow noopener">pkg-provides support for DragonFly (from Rodrigo Osorio)</a></li>
<li><a href="https://monades.roperzh.com/memories-writing-parser-man-pages/" target="_blank" rel="nofollow noopener">Memories of writing a parser for man pages</a></li>
<li><a href="http://developeronfire.com/podcast/episode-198-bryan-cantrill-persistence-and-action" target="_blank" rel="nofollow noopener">Bryan Cantrill interview over at DeveloperOnFire podcast</a></li>
<li><a href="http://minnie.tuhs.org/pipermail/tuhs/2018-March/013285.html" target="_blank" rel="nofollow noopener">1978-03-25 - 2018-03-25: 40 years BSD Mail</a></li>
<li><a href="https://imgur.com/a/KOTJS" target="_blank" rel="nofollow noopener">My 5 years of FreeBSD gaming: a compendium of free games and engines running natively on FreeBSD</a></li>
<li><a href="https://reviews.freebsd.org/D15562" target="_blank" rel="nofollow noopener">Sequential Resilver being upstreamed to FreeBSD, from FreeNAS, where it was ported from ZFS-on-Linux</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener">University of Aberdeen’s Internet Transport Research Group is hiring  </a></li>
</ul>

<hr>

<p><strong>Tarsnap ad</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Dave - <a href="http://dpaste.com/0KHRB4Z#wrap" target="_blank" rel="nofollow noopener">mounting non-filesystem things inside jails</a></li>
<li>Morgan - <a href="http://dpaste.com/10QD42T#wrap" target="_blank" rel="nofollow noopener">ZFS on Linux Data loss bug</a></li>
<li>Rene - <a href="http://dpaste.com/30VM51S#wrap" target="_blank" rel="nofollow noopener">How to keep your ISP’s nose out of your browser history with encrypted DNS</a></li>
<li>Rodriguez - <a href="http://dpaste.com/3WVYR9D#wrap" target="_blank" rel="nofollow noopener">Feedback question! Relating to Windows</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>85: PIE in the Sky</title>
  <link>https://www.bsdnow.tv/85</link>
  <guid isPermaLink="false">7b947cd6-04e4-4210-a3a1-3f80d96ccc79</guid>
  <pubDate>Wed, 15 Apr 2015 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7b947cd6-04e4-4210-a3a1-3f80d96ccc79.mp3" length="58114516" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This time on the show, we'll be talking with Pascal Stumpf about static PIE in the upcoming OpenBSD release. He'll tell us what types of attacks it prevents, and why it's such a big deal. We've also got answers to questions from you in the audience and all this week's news, on BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>1:20:42</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;This time on the show, we'll be talking with Pascal Stumpf about static PIE in the upcoming OpenBSD release. He'll tell us what types of attacks it prevents, and why it's such a big deal. We've also got answers to questions from you in the audience and all this week's news, on BSD Now - the place to B.. SD.&lt;/p&gt;

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

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

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="http://bsdly.blogspot.com/2015/04/solaris-admins-for-glimpse-of-your.html" target="_blank" rel="nofollow noopener"&gt;Solaris' networking future is with OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A curious patch from someone with an Oracle email address was &lt;a href="https://www.marc.info/?l=openbsd-tech&amp;amp;m=142822852613581&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;recently sent in&lt;/a&gt; to one of the OpenBSD mailing lists&lt;/li&gt;
&lt;li&gt;It was revealed that future releases of Solaris are going to drop their IPFilter firewall entirely, in favor of a port of the &lt;strong&gt;current&lt;/strong&gt; version of PF&lt;/li&gt;
&lt;li&gt;For anyone unfamiliar with the history of PF, it was actually made &lt;em&gt;as a replacement for&lt;/em&gt; IPFilter in OpenBSD, due to some licensing issues&lt;/li&gt;
&lt;li&gt;What's more, Solaris was the original development platform for IPFilter, so the fact that it would be replaced in its own home is pretty interesting&lt;/li&gt;
&lt;li&gt;This blog post goes through some of the backstory of the two firewalls&lt;/li&gt;
&lt;li&gt;PF is in a lot of places - other BSDs, Mac OS X and iOS - but there are plenty of other OpenBSD-developed technologies end up ported to other projects too&lt;/li&gt;
&lt;li&gt;"Many of the world's largest corporations and government agencies are heavy Solaris users, meaning that even if you're neither an OpenBSD user or a Solaris user, your kit is likely interacting intensely with both kinds, and with Solaris moving to OpenBSD's PF for their filtering needs, we will all be benefiting even more from the OpenBSD project's emphasis on correctness, quality and security"&lt;/li&gt;
&lt;li&gt;You're welcome, Oracle
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.youtube.com/watch?v=Cb--h-iOQEM#t=15" target="_blank" rel="nofollow noopener"&gt;BAFUG discussion videos&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The Bay Area FreeBSD users group has been uploading some videos from their recent meetings&lt;/li&gt;
&lt;li&gt;Sean Bruno gave a recap of his experiences at EuroBSDCon last year, including the devsummit and some proposed ideas from it (as well as their current status)&lt;/li&gt;
&lt;li&gt;Craig Rodrigues also gave &lt;a href="https://www.youtube.com/watch?v=kPs8Dni_g3M#t=15" target="_blank" rel="nofollow noopener"&gt;a talk&lt;/a&gt; about Kyua and the FreeBSD testing framework&lt;/li&gt;
&lt;li&gt;Lastly, Kip Macy gave &lt;a href="https://www.youtube.com/watch?v=Q13WtuqbZ7E#t=15" target="_blank" rel="nofollow noopener"&gt;a talk&lt;/a&gt; titled "network stack changes, user-level FreeBSD"&lt;/li&gt;
&lt;li&gt;The main two subjects there are some network stack changes, and how to get more people contributing, but there's also open discussion about a variety of FreeBSD topics&lt;/li&gt;
&lt;li&gt;If you're close to the Bay Area in California, be sure to check out their group and attend a meeting sometime
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://homing-on-code.blogspot.com/2015/04/ports-are-more-than-just-makefile.html" target="_blank" rel="nofollow noopener"&gt;More than just a makefile&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If you're not a BSD user just yet, you might be wondering how the various ports and pkgsrc systems compare to the binary way of doing things on Linux&lt;/li&gt;
&lt;li&gt;This blog entry talks about the ports system in OpenBSD, but a lot of the concepts apply to all the ports systems across the BSDs&lt;/li&gt;
&lt;li&gt;As it turns out, the ports system really isn't that different from a binary package manager - they are what's &lt;em&gt;used&lt;/em&gt; to create binary packages, after all&lt;/li&gt;
&lt;li&gt;The author goes through what makefiles do, customizing which options software is compiled with, patching source code to build and getting those patches back upstream&lt;/li&gt;
&lt;li&gt;After that, he shows you how to get your new port tested, if you're interesting in doing some porting yourself, and getting involved with the rest of the community&lt;/li&gt;
&lt;li&gt;This post is very long and there's a lot more to it, so check it out (and more discussion &lt;a href="https://news.ycombinator.com/item?id=9360827" target="_blank" rel="nofollow noopener"&gt;on Hacker News&lt;/a&gt;)
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.scip.ch/en/?labs.20150409" target="_blank" rel="nofollow noopener"&gt;Securing your home fences&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hopefully all our listeners have realized that trusting your network(s) to a consumer router is a &lt;a href="http://www.devttys0.com/2015/04/hacking-the-d-link-dir-890l/" target="_blank" rel="nofollow noopener"&gt;bad&lt;/a&gt; &lt;a href="https://threatpost.com/12-million-home-routers-vulnerable-to-takeover/109970" target="_blank" rel="nofollow noopener"&gt;idea&lt;/a&gt; by now&lt;/li&gt;
&lt;li&gt;We hear from a lot of users who want to set up some kind of BSD-based firewall, but don't hear back from them after they've done it.. until now&lt;/li&gt;
&lt;li&gt;In this post, someone goes through the process of setting up a home firewall using OPNsense on a PCEngines &lt;a href="http://www.pcengines.ch/apu1d4.htm" target="_blank" rel="nofollow noopener"&gt;APU board&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;He notes that you have a lot of options software-wise, including vanilla &lt;a href="http://blog.pcbsd.org/2015/01/using-trueos-as-a-ipfw-based-home-router/" target="_blank" rel="nofollow noopener"&gt;FreeBSD&lt;/a&gt;, &lt;a href="http://www.bsdnow.tv/tutorials/openbsd-router" target="_blank" rel="nofollow noopener"&gt;OpenBSD&lt;/a&gt; or even Linux, but decided to go with OPNsense because of the easy interface and configuration&lt;/li&gt;
&lt;li&gt;The post covers all the hardware you'll need, getting the OS installed to a flash drive or SD card and going through the whole process&lt;/li&gt;
&lt;li&gt;Finally, he goes through setting up the firewall with the graphical interface, applying updates and finishing everything up&lt;/li&gt;
&lt;li&gt;If you don't have any experience using a serial console, this guide also has some good info for beginners about those (which also applies to regular FreeBSD)&lt;/li&gt;
&lt;li&gt;We love super-detailed guides like this, so everyone should write more and send them to us immediately
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Interview - Pascal Stumpf - &lt;a href="mailto:pascal@openbsd.org" target="_blank" rel="nofollow noopener"&gt;pascal@openbsd.org&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Static PIE in OpenBSD&lt;/p&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="http://blog.llvm.org/2015/04/fuzz-all-clangs.html" target="_blank" rel="nofollow noopener"&gt;LLVM's new libFuzzer&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We've discussed fuzzing on the show a number of times, albeit mostly with the American Fuzzy Lop utility&lt;/li&gt;
&lt;li&gt;It looks like LLVM is going to have their own fuzzing tool too now&lt;/li&gt;
&lt;li&gt;The Clang and LLVM guys are no strangers to this type of code testing, but decided to "close the loop" and start fuzzing parts of LLVM (including Clang) using LLVM itself&lt;/li&gt;
&lt;li&gt;With Clang being the default in both FreeBSD and Bitrig, and with the other BSDs considering the switch, this could make for some good bug hunting across all the projects in the future
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://hardenedbsd.org/article/shawn-webb/2015-04-14/introducing-secadm-02" target="_blank" rel="nofollow noopener"&gt;HardenedBSD upgrades secadm&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The HardenedBSD guys have released a new version of their secadm tool, with the showcase feature being integriforce support&lt;/li&gt;
&lt;li&gt;We covered both the secadm tool and integriforce in previous episodes, but the short version is that it's a way to prevent files from being altered (even as root)&lt;/li&gt;
&lt;li&gt;Their integriforce feature itself has also gotten a couple improvements: shared objects are now checked too, instead of just binaries, and it uses more caching to speed up the whole process now
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.marc.info/?l=openbsd-tech&amp;amp;m=142877132517229&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;RAID5 returns to OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OpenBSD's &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/softraid.4" target="_blank" rel="nofollow noopener"&gt;softraid&lt;/a&gt; subsystem, somewhat similar to FreeBSD's GEOM, has had experimental RAID5 support for a while&lt;/li&gt;
&lt;li&gt;However, it was exactly that - experimental - and required a recompile to enable&lt;/li&gt;
&lt;li&gt;With some work from recent hackathons, the &lt;a href="https://www.marc.info/?l=openbsd-cvs&amp;amp;m=142876943116907&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;final piece&lt;/a&gt; was added to enable resuming partial array rebuilds&lt;/li&gt;
&lt;li&gt;Now it's &lt;a href="https://www.marc.info/?l=openbsd-cvs&amp;amp;m=142877026917030&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;on by default&lt;/a&gt;, and there's a call for testing being put out, so grab a snapshot and put the code through its paces&lt;/li&gt;
&lt;li&gt;The bioctl softraid command also &lt;a href="https://www.marc.info/?l=openbsd-cvs&amp;amp;m=142877223817406&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;now supports&lt;/a&gt; DUIDs during pseudo-device detachment, possibly paving the way for the installer to &lt;a href="https://www.marc.info/?l=openbsd-tech&amp;amp;m=142643313416298&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;drop&lt;/a&gt; the "do you want to enable DUIDs?" question entirely
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2015-April/055463.html" target="_blank" rel="nofollow noopener"&gt;pkgng 1.5.0 released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Going back to what we &lt;a href="http://www.bsdnow.tv/episodes/2015_04_08-pkg_remove_freebsd-update" target="_blank" rel="nofollow noopener"&gt;talked about last week&lt;/a&gt;, the final version of pkgng 1.5.0 is out&lt;/li&gt;
&lt;li&gt;The "provides" and "requires" support is finally in a regular release&lt;/li&gt;
&lt;li&gt;A new "-r" switch will allow for direct installation to a chroot or alternate root directory&lt;/li&gt;
&lt;li&gt;Memory usage should be much better now, and some general code speed-ups were added&lt;/li&gt;
&lt;li&gt;This version also introduces support for Mac OS X, NetBSD and EdgeBSD - it'll be interesting to see if anything comes of that&lt;/li&gt;
&lt;li&gt;Many more bugs were fixed, so check the mailing list announcement for the rest (and plenty new bugs were added, according to bapt)
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20150411160247" target="_blank" rel="nofollow noopener"&gt;p2k15 hackathon reports&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;There was another OpenBSD hackathon that just finished up in the UK - this time it was mainly for ports work&lt;/li&gt;
&lt;li&gt;As usual, the developers sent in reports of some of the things they got done at the event&lt;/li&gt;
&lt;li&gt;Landry Breuil, both an upstream Mozilla developer and an OpenBSD developer, wrote in about the work he did on the Firefox port (specifically WebRTC) and some others, as well as reviewing lots of patches that were ready to commit&lt;/li&gt;
&lt;li&gt;Stefan Sperling &lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20150414064710" target="_blank" rel="nofollow noopener"&gt;wrote in&lt;/a&gt;, detailing his work with wireless chipsets, specifically when the vendor doesn't provide any hardware documentation, as well as updating some of the games in ports&lt;/li&gt;
&lt;li&gt;Ken Westerback &lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20150413163333" target="_blank" rel="nofollow noopener"&gt;also sent in a report&lt;/a&gt;, but decided to be a rebel and not work on ports at all - he got a lot of GPT-related work done, and also reviewed the RAID5 support we talked about earlier
***&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s2iNBo2swq" target="_blank" rel="nofollow noopener"&gt;Shaun writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s202BRLwrd" target="_blank" rel="nofollow noopener"&gt;Hrishi writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s2KT7M35uY" target="_blank" rel="nofollow noopener"&gt;Randy writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s2Q5lOoxzl" target="_blank" rel="nofollow noopener"&gt;Zach writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s2ynDjuzVi" target="_blank" rel="nofollow noopener"&gt;Ben writes in&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Mailing List Gold&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.marc.info/?l=openbsd-ports&amp;amp;m=142884995931428&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Gstreamer hates us&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.torproject.org/pipermail/tor-relays/2015-April/006765.html" target="_blank" rel="nofollow noopener"&gt;At least he's honest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2015-April/055390.html" target="_blank" rel="nofollow noopener"&gt;I find myself in a situation&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, aslr, pie, position-independent executable, static, binary, dynamic, linking, security, llvm, fuzzing, clang, opnsense, pcengines, apu, alix, hammer2, zfs, oracle, solaris, pf</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This time on the show, we'll be talking with Pascal Stumpf about static PIE in the upcoming OpenBSD release. He'll tell us what types of attacks it prevents, and why it's such a big deal. We've also got answers to questions from you in the audience and all this week's news, on BSD Now - the place to B.. SD.</p>

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

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

<hr>

<h2>Headlines</h2>

<h3><a href="http://bsdly.blogspot.com/2015/04/solaris-admins-for-glimpse-of-your.html" target="_blank" rel="nofollow noopener">Solaris' networking future is with OpenBSD</a></h3>

<ul>
<li>A curious patch from someone with an Oracle email address was <a href="https://www.marc.info/?l=openbsd-tech&amp;m=142822852613581&amp;w=2" target="_blank" rel="nofollow noopener">recently sent in</a> to one of the OpenBSD mailing lists</li>
<li>It was revealed that future releases of Solaris are going to drop their IPFilter firewall entirely, in favor of a port of the <strong>current</strong> version of PF</li>
<li>For anyone unfamiliar with the history of PF, it was actually made <em>as a replacement for</em> IPFilter in OpenBSD, due to some licensing issues</li>
<li>What's more, Solaris was the original development platform for IPFilter, so the fact that it would be replaced in its own home is pretty interesting</li>
<li>This blog post goes through some of the backstory of the two firewalls</li>
<li>PF is in a lot of places - other BSDs, Mac OS X and iOS - but there are plenty of other OpenBSD-developed technologies end up ported to other projects too</li>
<li>"Many of the world's largest corporations and government agencies are heavy Solaris users, meaning that even if you're neither an OpenBSD user or a Solaris user, your kit is likely interacting intensely with both kinds, and with Solaris moving to OpenBSD's PF for their filtering needs, we will all be benefiting even more from the OpenBSD project's emphasis on correctness, quality and security"</li>
<li>You're welcome, Oracle
***</li>
</ul>

<h3><a href="https://www.youtube.com/watch?v=Cb--h-iOQEM#t=15" target="_blank" rel="nofollow noopener">BAFUG discussion videos</a></h3>

<ul>
<li>The Bay Area FreeBSD users group has been uploading some videos from their recent meetings</li>
<li>Sean Bruno gave a recap of his experiences at EuroBSDCon last year, including the devsummit and some proposed ideas from it (as well as their current status)</li>
<li>Craig Rodrigues also gave <a href="https://www.youtube.com/watch?v=kPs8Dni_g3M#t=15" target="_blank" rel="nofollow noopener">a talk</a> about Kyua and the FreeBSD testing framework</li>
<li>Lastly, Kip Macy gave <a href="https://www.youtube.com/watch?v=Q13WtuqbZ7E#t=15" target="_blank" rel="nofollow noopener">a talk</a> titled "network stack changes, user-level FreeBSD"</li>
<li>The main two subjects there are some network stack changes, and how to get more people contributing, but there's also open discussion about a variety of FreeBSD topics</li>
<li>If you're close to the Bay Area in California, be sure to check out their group and attend a meeting sometime
***</li>
</ul>

<h3><a href="http://homing-on-code.blogspot.com/2015/04/ports-are-more-than-just-makefile.html" target="_blank" rel="nofollow noopener">More than just a makefile</a></h3>

<ul>
<li>If you're not a BSD user just yet, you might be wondering how the various ports and pkgsrc systems compare to the binary way of doing things on Linux</li>
<li>This blog entry talks about the ports system in OpenBSD, but a lot of the concepts apply to all the ports systems across the BSDs</li>
<li>As it turns out, the ports system really isn't that different from a binary package manager - they are what's <em>used</em> to create binary packages, after all</li>
<li>The author goes through what makefiles do, customizing which options software is compiled with, patching source code to build and getting those patches back upstream</li>
<li>After that, he shows you how to get your new port tested, if you're interesting in doing some porting yourself, and getting involved with the rest of the community</li>
<li>This post is very long and there's a lot more to it, so check it out (and more discussion <a href="https://news.ycombinator.com/item?id=9360827" target="_blank" rel="nofollow noopener">on Hacker News</a>)
***</li>
</ul>

<h3><a href="http://www.scip.ch/en/?labs.20150409" target="_blank" rel="nofollow noopener">Securing your home fences</a></h3>

<ul>
<li>Hopefully all our listeners have realized that trusting your network(s) to a consumer router is a <a href="http://www.devttys0.com/2015/04/hacking-the-d-link-dir-890l/" target="_blank" rel="nofollow noopener">bad</a> <a href="https://threatpost.com/12-million-home-routers-vulnerable-to-takeover/109970" target="_blank" rel="nofollow noopener">idea</a> by now</li>
<li>We hear from a lot of users who want to set up some kind of BSD-based firewall, but don't hear back from them after they've done it.. until now</li>
<li>In this post, someone goes through the process of setting up a home firewall using OPNsense on a PCEngines <a href="http://www.pcengines.ch/apu1d4.htm" target="_blank" rel="nofollow noopener">APU board</a></li>
<li>He notes that you have a lot of options software-wise, including vanilla <a href="http://blog.pcbsd.org/2015/01/using-trueos-as-a-ipfw-based-home-router/" target="_blank" rel="nofollow noopener">FreeBSD</a>, <a href="http://www.bsdnow.tv/tutorials/openbsd-router" target="_blank" rel="nofollow noopener">OpenBSD</a> or even Linux, but decided to go with OPNsense because of the easy interface and configuration</li>
<li>The post covers all the hardware you'll need, getting the OS installed to a flash drive or SD card and going through the whole process</li>
<li>Finally, he goes through setting up the firewall with the graphical interface, applying updates and finishing everything up</li>
<li>If you don't have any experience using a serial console, this guide also has some good info for beginners about those (which also applies to regular FreeBSD)</li>
<li>We love super-detailed guides like this, so everyone should write more and send them to us immediately
***</li>
</ul>

<h2>Interview - Pascal Stumpf - <a href="mailto:pascal@openbsd.org" target="_blank" rel="nofollow noopener">pascal@openbsd.org</a></h2>

<p>Static PIE in OpenBSD</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://blog.llvm.org/2015/04/fuzz-all-clangs.html" target="_blank" rel="nofollow noopener">LLVM's new libFuzzer</a></h3>

<ul>
<li>We've discussed fuzzing on the show a number of times, albeit mostly with the American Fuzzy Lop utility</li>
<li>It looks like LLVM is going to have their own fuzzing tool too now</li>
<li>The Clang and LLVM guys are no strangers to this type of code testing, but decided to "close the loop" and start fuzzing parts of LLVM (including Clang) using LLVM itself</li>
<li>With Clang being the default in both FreeBSD and Bitrig, and with the other BSDs considering the switch, this could make for some good bug hunting across all the projects in the future
***</li>
</ul>

<h3><a href="http://hardenedbsd.org/article/shawn-webb/2015-04-14/introducing-secadm-02" target="_blank" rel="nofollow noopener">HardenedBSD upgrades secadm</a></h3>

<ul>
<li>The HardenedBSD guys have released a new version of their secadm tool, with the showcase feature being integriforce support</li>
<li>We covered both the secadm tool and integriforce in previous episodes, but the short version is that it's a way to prevent files from being altered (even as root)</li>
<li>Their integriforce feature itself has also gotten a couple improvements: shared objects are now checked too, instead of just binaries, and it uses more caching to speed up the whole process now
***</li>
</ul>

<h3><a href="https://www.marc.info/?l=openbsd-tech&amp;m=142877132517229&amp;w=2" target="_blank" rel="nofollow noopener">RAID5 returns to OpenBSD</a></h3>

<ul>
<li>OpenBSD's <a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/softraid.4" target="_blank" rel="nofollow noopener">softraid</a> subsystem, somewhat similar to FreeBSD's GEOM, has had experimental RAID5 support for a while</li>
<li>However, it was exactly that - experimental - and required a recompile to enable</li>
<li>With some work from recent hackathons, the <a href="https://www.marc.info/?l=openbsd-cvs&amp;m=142876943116907&amp;w=2" target="_blank" rel="nofollow noopener">final piece</a> was added to enable resuming partial array rebuilds</li>
<li>Now it's <a href="https://www.marc.info/?l=openbsd-cvs&amp;m=142877026917030&amp;w=2" target="_blank" rel="nofollow noopener">on by default</a>, and there's a call for testing being put out, so grab a snapshot and put the code through its paces</li>
<li>The bioctl softraid command also <a href="https://www.marc.info/?l=openbsd-cvs&amp;m=142877223817406&amp;w=2" target="_blank" rel="nofollow noopener">now supports</a> DUIDs during pseudo-device detachment, possibly paving the way for the installer to <a href="https://www.marc.info/?l=openbsd-tech&amp;m=142643313416298&amp;w=2" target="_blank" rel="nofollow noopener">drop</a> the "do you want to enable DUIDs?" question entirely
***</li>
</ul>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2015-April/055463.html" target="_blank" rel="nofollow noopener">pkgng 1.5.0 released</a></h3>

<ul>
<li>Going back to what we <a href="http://www.bsdnow.tv/episodes/2015_04_08-pkg_remove_freebsd-update" target="_blank" rel="nofollow noopener">talked about last week</a>, the final version of pkgng 1.5.0 is out</li>
<li>The "provides" and "requires" support is finally in a regular release</li>
<li>A new "-r" switch will allow for direct installation to a chroot or alternate root directory</li>
<li>Memory usage should be much better now, and some general code speed-ups were added</li>
<li>This version also introduces support for Mac OS X, NetBSD and EdgeBSD - it'll be interesting to see if anything comes of that</li>
<li>Many more bugs were fixed, so check the mailing list announcement for the rest (and plenty new bugs were added, according to bapt)
***</li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20150411160247" target="_blank" rel="nofollow noopener">p2k15 hackathon reports</a></h3>

<ul>
<li>There was another OpenBSD hackathon that just finished up in the UK - this time it was mainly for ports work</li>
<li>As usual, the developers sent in reports of some of the things they got done at the event</li>
<li>Landry Breuil, both an upstream Mozilla developer and an OpenBSD developer, wrote in about the work he did on the Firefox port (specifically WebRTC) and some others, as well as reviewing lots of patches that were ready to commit</li>
<li>Stefan Sperling <a href="http://undeadly.org/cgi?action=article&amp;sid=20150414064710" target="_blank" rel="nofollow noopener">wrote in</a>, detailing his work with wireless chipsets, specifically when the vendor doesn't provide any hardware documentation, as well as updating some of the games in ports</li>
<li>Ken Westerback <a href="http://undeadly.org/cgi?action=article&amp;sid=20150413163333" target="_blank" rel="nofollow noopener">also sent in a report</a>, but decided to be a rebel and not work on ports at all - he got a lot of GPT-related work done, and also reviewed the RAID5 support we talked about earlier
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s2iNBo2swq" target="_blank" rel="nofollow noopener">Shaun writes in</a></li>
<li><a href="http://slexy.org/view/s202BRLwrd" target="_blank" rel="nofollow noopener">Hrishi writes in</a></li>
<li><a href="http://slexy.org/view/s2KT7M35uY" target="_blank" rel="nofollow noopener">Randy writes in</a></li>
<li><a href="http://slexy.org/view/s2Q5lOoxzl" target="_blank" rel="nofollow noopener">Zach writes in</a></li>
<li><a href="http://slexy.org/view/s2ynDjuzVi" target="_blank" rel="nofollow noopener">Ben writes in</a>
***</li>
</ul>

<h2>Mailing List Gold</h2>

<ul>
<li><a href="https://www.marc.info/?l=openbsd-ports&amp;m=142884995931428&amp;w=2" target="_blank" rel="nofollow noopener">Gstreamer hates us</a></li>
<li><a href="https://lists.torproject.org/pipermail/tor-relays/2015-April/006765.html" target="_blank" rel="nofollow noopener">At least he's honest</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-current/2015-April/055390.html" target="_blank" rel="nofollow noopener">I find myself in a situation</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This time on the show, we'll be talking with Pascal Stumpf about static PIE in the upcoming OpenBSD release. He'll tell us what types of attacks it prevents, and why it's such a big deal. We've also got answers to questions from you in the audience and all this week's news, on BSD Now - the place to B.. SD.</p>

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

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

<hr>

<h2>Headlines</h2>

<h3><a href="http://bsdly.blogspot.com/2015/04/solaris-admins-for-glimpse-of-your.html" target="_blank" rel="nofollow noopener">Solaris' networking future is with OpenBSD</a></h3>

<ul>
<li>A curious patch from someone with an Oracle email address was <a href="https://www.marc.info/?l=openbsd-tech&amp;m=142822852613581&amp;w=2" target="_blank" rel="nofollow noopener">recently sent in</a> to one of the OpenBSD mailing lists</li>
<li>It was revealed that future releases of Solaris are going to drop their IPFilter firewall entirely, in favor of a port of the <strong>current</strong> version of PF</li>
<li>For anyone unfamiliar with the history of PF, it was actually made <em>as a replacement for</em> IPFilter in OpenBSD, due to some licensing issues</li>
<li>What's more, Solaris was the original development platform for IPFilter, so the fact that it would be replaced in its own home is pretty interesting</li>
<li>This blog post goes through some of the backstory of the two firewalls</li>
<li>PF is in a lot of places - other BSDs, Mac OS X and iOS - but there are plenty of other OpenBSD-developed technologies end up ported to other projects too</li>
<li>"Many of the world's largest corporations and government agencies are heavy Solaris users, meaning that even if you're neither an OpenBSD user or a Solaris user, your kit is likely interacting intensely with both kinds, and with Solaris moving to OpenBSD's PF for their filtering needs, we will all be benefiting even more from the OpenBSD project's emphasis on correctness, quality and security"</li>
<li>You're welcome, Oracle
***</li>
</ul>

<h3><a href="https://www.youtube.com/watch?v=Cb--h-iOQEM#t=15" target="_blank" rel="nofollow noopener">BAFUG discussion videos</a></h3>

<ul>
<li>The Bay Area FreeBSD users group has been uploading some videos from their recent meetings</li>
<li>Sean Bruno gave a recap of his experiences at EuroBSDCon last year, including the devsummit and some proposed ideas from it (as well as their current status)</li>
<li>Craig Rodrigues also gave <a href="https://www.youtube.com/watch?v=kPs8Dni_g3M#t=15" target="_blank" rel="nofollow noopener">a talk</a> about Kyua and the FreeBSD testing framework</li>
<li>Lastly, Kip Macy gave <a href="https://www.youtube.com/watch?v=Q13WtuqbZ7E#t=15" target="_blank" rel="nofollow noopener">a talk</a> titled "network stack changes, user-level FreeBSD"</li>
<li>The main two subjects there are some network stack changes, and how to get more people contributing, but there's also open discussion about a variety of FreeBSD topics</li>
<li>If you're close to the Bay Area in California, be sure to check out their group and attend a meeting sometime
***</li>
</ul>

<h3><a href="http://homing-on-code.blogspot.com/2015/04/ports-are-more-than-just-makefile.html" target="_blank" rel="nofollow noopener">More than just a makefile</a></h3>

<ul>
<li>If you're not a BSD user just yet, you might be wondering how the various ports and pkgsrc systems compare to the binary way of doing things on Linux</li>
<li>This blog entry talks about the ports system in OpenBSD, but a lot of the concepts apply to all the ports systems across the BSDs</li>
<li>As it turns out, the ports system really isn't that different from a binary package manager - they are what's <em>used</em> to create binary packages, after all</li>
<li>The author goes through what makefiles do, customizing which options software is compiled with, patching source code to build and getting those patches back upstream</li>
<li>After that, he shows you how to get your new port tested, if you're interesting in doing some porting yourself, and getting involved with the rest of the community</li>
<li>This post is very long and there's a lot more to it, so check it out (and more discussion <a href="https://news.ycombinator.com/item?id=9360827" target="_blank" rel="nofollow noopener">on Hacker News</a>)
***</li>
</ul>

<h3><a href="http://www.scip.ch/en/?labs.20150409" target="_blank" rel="nofollow noopener">Securing your home fences</a></h3>

<ul>
<li>Hopefully all our listeners have realized that trusting your network(s) to a consumer router is a <a href="http://www.devttys0.com/2015/04/hacking-the-d-link-dir-890l/" target="_blank" rel="nofollow noopener">bad</a> <a href="https://threatpost.com/12-million-home-routers-vulnerable-to-takeover/109970" target="_blank" rel="nofollow noopener">idea</a> by now</li>
<li>We hear from a lot of users who want to set up some kind of BSD-based firewall, but don't hear back from them after they've done it.. until now</li>
<li>In this post, someone goes through the process of setting up a home firewall using OPNsense on a PCEngines <a href="http://www.pcengines.ch/apu1d4.htm" target="_blank" rel="nofollow noopener">APU board</a></li>
<li>He notes that you have a lot of options software-wise, including vanilla <a href="http://blog.pcbsd.org/2015/01/using-trueos-as-a-ipfw-based-home-router/" target="_blank" rel="nofollow noopener">FreeBSD</a>, <a href="http://www.bsdnow.tv/tutorials/openbsd-router" target="_blank" rel="nofollow noopener">OpenBSD</a> or even Linux, but decided to go with OPNsense because of the easy interface and configuration</li>
<li>The post covers all the hardware you'll need, getting the OS installed to a flash drive or SD card and going through the whole process</li>
<li>Finally, he goes through setting up the firewall with the graphical interface, applying updates and finishing everything up</li>
<li>If you don't have any experience using a serial console, this guide also has some good info for beginners about those (which also applies to regular FreeBSD)</li>
<li>We love super-detailed guides like this, so everyone should write more and send them to us immediately
***</li>
</ul>

<h2>Interview - Pascal Stumpf - <a href="mailto:pascal@openbsd.org" target="_blank" rel="nofollow noopener">pascal@openbsd.org</a></h2>

<p>Static PIE in OpenBSD</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://blog.llvm.org/2015/04/fuzz-all-clangs.html" target="_blank" rel="nofollow noopener">LLVM's new libFuzzer</a></h3>

<ul>
<li>We've discussed fuzzing on the show a number of times, albeit mostly with the American Fuzzy Lop utility</li>
<li>It looks like LLVM is going to have their own fuzzing tool too now</li>
<li>The Clang and LLVM guys are no strangers to this type of code testing, but decided to "close the loop" and start fuzzing parts of LLVM (including Clang) using LLVM itself</li>
<li>With Clang being the default in both FreeBSD and Bitrig, and with the other BSDs considering the switch, this could make for some good bug hunting across all the projects in the future
***</li>
</ul>

<h3><a href="http://hardenedbsd.org/article/shawn-webb/2015-04-14/introducing-secadm-02" target="_blank" rel="nofollow noopener">HardenedBSD upgrades secadm</a></h3>

<ul>
<li>The HardenedBSD guys have released a new version of their secadm tool, with the showcase feature being integriforce support</li>
<li>We covered both the secadm tool and integriforce in previous episodes, but the short version is that it's a way to prevent files from being altered (even as root)</li>
<li>Their integriforce feature itself has also gotten a couple improvements: shared objects are now checked too, instead of just binaries, and it uses more caching to speed up the whole process now
***</li>
</ul>

<h3><a href="https://www.marc.info/?l=openbsd-tech&amp;m=142877132517229&amp;w=2" target="_blank" rel="nofollow noopener">RAID5 returns to OpenBSD</a></h3>

<ul>
<li>OpenBSD's <a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/softraid.4" target="_blank" rel="nofollow noopener">softraid</a> subsystem, somewhat similar to FreeBSD's GEOM, has had experimental RAID5 support for a while</li>
<li>However, it was exactly that - experimental - and required a recompile to enable</li>
<li>With some work from recent hackathons, the <a href="https://www.marc.info/?l=openbsd-cvs&amp;m=142876943116907&amp;w=2" target="_blank" rel="nofollow noopener">final piece</a> was added to enable resuming partial array rebuilds</li>
<li>Now it's <a href="https://www.marc.info/?l=openbsd-cvs&amp;m=142877026917030&amp;w=2" target="_blank" rel="nofollow noopener">on by default</a>, and there's a call for testing being put out, so grab a snapshot and put the code through its paces</li>
<li>The bioctl softraid command also <a href="https://www.marc.info/?l=openbsd-cvs&amp;m=142877223817406&amp;w=2" target="_blank" rel="nofollow noopener">now supports</a> DUIDs during pseudo-device detachment, possibly paving the way for the installer to <a href="https://www.marc.info/?l=openbsd-tech&amp;m=142643313416298&amp;w=2" target="_blank" rel="nofollow noopener">drop</a> the "do you want to enable DUIDs?" question entirely
***</li>
</ul>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2015-April/055463.html" target="_blank" rel="nofollow noopener">pkgng 1.5.0 released</a></h3>

<ul>
<li>Going back to what we <a href="http://www.bsdnow.tv/episodes/2015_04_08-pkg_remove_freebsd-update" target="_blank" rel="nofollow noopener">talked about last week</a>, the final version of pkgng 1.5.0 is out</li>
<li>The "provides" and "requires" support is finally in a regular release</li>
<li>A new "-r" switch will allow for direct installation to a chroot or alternate root directory</li>
<li>Memory usage should be much better now, and some general code speed-ups were added</li>
<li>This version also introduces support for Mac OS X, NetBSD and EdgeBSD - it'll be interesting to see if anything comes of that</li>
<li>Many more bugs were fixed, so check the mailing list announcement for the rest (and plenty new bugs were added, according to bapt)
***</li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20150411160247" target="_blank" rel="nofollow noopener">p2k15 hackathon reports</a></h3>

<ul>
<li>There was another OpenBSD hackathon that just finished up in the UK - this time it was mainly for ports work</li>
<li>As usual, the developers sent in reports of some of the things they got done at the event</li>
<li>Landry Breuil, both an upstream Mozilla developer and an OpenBSD developer, wrote in about the work he did on the Firefox port (specifically WebRTC) and some others, as well as reviewing lots of patches that were ready to commit</li>
<li>Stefan Sperling <a href="http://undeadly.org/cgi?action=article&amp;sid=20150414064710" target="_blank" rel="nofollow noopener">wrote in</a>, detailing his work with wireless chipsets, specifically when the vendor doesn't provide any hardware documentation, as well as updating some of the games in ports</li>
<li>Ken Westerback <a href="http://undeadly.org/cgi?action=article&amp;sid=20150413163333" target="_blank" rel="nofollow noopener">also sent in a report</a>, but decided to be a rebel and not work on ports at all - he got a lot of GPT-related work done, and also reviewed the RAID5 support we talked about earlier
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s2iNBo2swq" target="_blank" rel="nofollow noopener">Shaun writes in</a></li>
<li><a href="http://slexy.org/view/s202BRLwrd" target="_blank" rel="nofollow noopener">Hrishi writes in</a></li>
<li><a href="http://slexy.org/view/s2KT7M35uY" target="_blank" rel="nofollow noopener">Randy writes in</a></li>
<li><a href="http://slexy.org/view/s2Q5lOoxzl" target="_blank" rel="nofollow noopener">Zach writes in</a></li>
<li><a href="http://slexy.org/view/s2ynDjuzVi" target="_blank" rel="nofollow noopener">Ben writes in</a>
***</li>
</ul>

<h2>Mailing List Gold</h2>

<ul>
<li><a href="https://www.marc.info/?l=openbsd-ports&amp;m=142884995931428&amp;w=2" target="_blank" rel="nofollow noopener">Gstreamer hates us</a></li>
<li><a href="https://lists.torproject.org/pipermail/tor-relays/2015-April/006765.html" target="_blank" rel="nofollow noopener">At least he's honest</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-current/2015-April/055390.html" target="_blank" rel="nofollow noopener">I find myself in a situation</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>30: Documentation is King</title>
  <link>https://www.bsdnow.tv/30</link>
  <guid isPermaLink="false">ab836072-6c9b-4d13-9011-8d9ddf4294e7</guid>
  <pubDate>Wed, 26 Mar 2014 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ab836072-6c9b-4d13-9011-8d9ddf4294e7.mp3" length="59694113" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Finally hit 30 episodes! Today we'll be chatting with Warren Block to discuss BSD documentation efforts and future plans. If you've ever wondered about the scary world of mailing lists, today's tutorial will show you the basics of how to get help and contribute back. There's lots to get to today, so sit back and enjoy some BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>1:22:54</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>&lt;p&gt;Finally hit 30 episodes! Today we'll be chatting with Warren Block to discuss BSD documentation efforts and future plans. If you've ever wondered about the scary world of mailing lists, today's tutorial will show you the basics of how to get help and contribute back. There's lots to get to today, so sit back and enjoy some BSD Now - the place to B.. SD.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/iXlogo2.png" alt="iXsystems - Enterprise Servers and Storage For Open Source"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="http://www.tedunangst.com/flak/post/OpenBSD-on-a-Sun-T5120" target="_blank" rel="nofollow noopener"&gt;OpenBSD on a Sun T5120&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Our buddy &lt;a href="http://www.bsdnow.tv/episodes/2014_02_05-time_signatures" target="_blank" rel="nofollow noopener"&gt;Ted Unangst&lt;/a&gt; got himself a cool Sun box&lt;/li&gt;
&lt;li&gt;Of course he had to write a post about installing and running OpenBSD on it&lt;/li&gt;
&lt;li&gt;The post goes through some of the quirks and steps to go through in case you're interested in one of these fine SPARC machines&lt;/li&gt;
&lt;li&gt;He's also got another post about OpenBSD on a &lt;a href="http://www.tedunangst.com/flak/post/Dell-CS24-SC-server" target="_blank" rel="nofollow noopener"&gt;Dell CS24-SC server&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.youtube.com/results?search_query=bhyvecon%20tokyo&amp;amp;sm=3" target="_blank" rel="nofollow noopener"&gt;Bhyvecon 2014 videos are up&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Like we mentioned last week, &lt;a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener"&gt;Bhyvecon&lt;/a&gt; was an almost-impromptu conference before AsiaBSDCon&lt;/li&gt;
&lt;li&gt;The talks have apparently already been uploaded!&lt;/li&gt;
&lt;li&gt;Subjects include Bhyve's past, present and future, OSv on Bhyve, a general introduction to the tool, migrating those last few pesky Linux boxes to virtualization&lt;/li&gt;
&lt;li&gt;Lots more detail in the videos, so check 'em all out
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://blog.khubla.com/freebsd/building-my-own-wireless-point" target="_blank" rel="nofollow noopener"&gt;Building a FreeBSD wireless access point&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We've got a new blog post about creating a wireless access point with FreeBSD&lt;/li&gt;
&lt;li&gt;After all the recent news of consumer routers being pwned like candy, it's time for people to start building &lt;a href="http://www.bsdnow.tv/tutorials/openbsd-router" target="_blank" rel="nofollow noopener"&gt;BSD routers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The author goes through a lot of the process of getting one set up using good ol' FreeBSD&lt;/li&gt;
&lt;li&gt;Using hostapd, he's able to share his wireless card in hostap mode and offer DHCP to all the clients&lt;/li&gt;
&lt;li&gt;Plenty of config files and more messy details in the post
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.notquitemainstream.com/2014/03/15/why-im-switching-from-synology-to-freenas/" target="_blank" rel="nofollow noopener"&gt;Switching from Synology to FreeNAS&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The author has been considering getting a NAS for quite a while and documents his research&lt;/li&gt;
&lt;li&gt;He was faced with the compromise of convenience vs. flexibility - prebuilt or DIY&lt;/li&gt;
&lt;li&gt;After seeing the potential security issues with proprietary NAS devices, and dealing with frustration with trying to get bugs fixed, he makes the right choice&lt;/li&gt;
&lt;li&gt;The post also goes into some detail about his setup, all the things he needed a NAS to do as well as all the advantages an open source solution would give
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Interview - Warren Block - &lt;a href="mailto:wblock@freebsd.org" target="_blank" rel="nofollow noopener"&gt;wblock@freebsd.org&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;FreeBSD's documentation project, igor, doceng&lt;/p&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="http://www.bsdnow.tv/tutorials/mailing-lists" target="_blank" rel="nofollow noopener"&gt;The world of BSD mailing lists&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

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

&lt;h3&gt;&lt;a href="http://www.shiningsilence.com/dbsdlog/2014/03/18/13651.html" target="_blank" rel="nofollow noopener"&gt;HAMMER2 work and notes&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Matthew Dillon has posted some updated notes about the development of the new HAMMER version&lt;/li&gt;
&lt;li&gt;The start of a cluster API was committed to the tree&lt;/li&gt;
&lt;li&gt;There are also links to design document, a freemap design document, a changes list and a todo list
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.youtube.com/watch?v=buo5JlMnGPI" target="_blank" rel="nofollow noopener"&gt;BSD Breaking Barriers&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Our friend &lt;a href="http://www.bsdnow.tv/episodes/2013_11_06-year_of_the_bsd_desktop" target="_blank" rel="nofollow noopener"&gt;MWL&lt;/a&gt; gave a talk at NYCBSDCon about BSD "breaking barriers"&lt;/li&gt;
&lt;li&gt;"What makes the BSD operating systems special? Why should you deploy your applications on BSD? Why does the BSD community keep growing, and why do Linux sites like DistroWatch say that BSD is where the interesting development work is happening? We'll cover the not-so-obvious reasons why BSD still stands tall after almost 40 years."&lt;/li&gt;
&lt;li&gt;He also has another upcoming talk, (or "webcast") called "&lt;a href="http://oreillynet.com/pub/e/3059" target="_blank" rel="nofollow noopener"&gt;Beyond Security: Getting to Know OpenBSD's Real Purpose&lt;/a&gt;"&lt;/li&gt;
&lt;li&gt;"OpenBSD is frequently billed as a high-security operating system. That's true, but security isn't the OpenBSD Project's main goal. This webcast will introduce systems administrators to OpenBSD, explain the project's mission, and discuss the features and benefits."&lt;/li&gt;
&lt;li&gt;It's on May 27th and will hopefully be recorded
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://dreamcat4.github.io/finch/" target="_blank" rel="nofollow noopener"&gt;FreeBSD in a chroot&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Finch, "FreeBSD running IN a CHroot," is a new project&lt;/li&gt;
&lt;li&gt;It's a way to extend the functionality of restricted USB-based FreeBSD systems (FreeNAS, etc.)&lt;/li&gt;
&lt;li&gt;All the details and some interesting use cases are on the github page&lt;/li&gt;
&lt;li&gt;He really needs to &lt;a href="https://www.freshports.org/net-im/finch" target="_blank" rel="nofollow noopener"&gt;change the project name&lt;/a&gt; though
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://blog.pcbsd.org/2014/03/pc-bsd-weekly-feature-digest-22/" target="_blank" rel="nofollow noopener"&gt;PCBSD weekly digest&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Lots of bugfixes for PCBSD coming down the tubes&lt;/li&gt;
&lt;li&gt;LZ4 compression is now enabled by default on the whole pool&lt;/li&gt;
&lt;li&gt;The latest 10-STABLE has been imported and builds are going&lt;/li&gt;
&lt;li&gt;Also the latest GNOME and Cinnamon builds have been imported and much more
***&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s20SlvTcwd" target="_blank" rel="nofollow noopener"&gt;Bostjan writes in&lt;/a&gt; (IRC suggests md5deep)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s2PeMqXFid" target="_blank" rel="nofollow noopener"&gt;Don writes in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s21yii6KZe" target="_blank" rel="nofollow noopener"&gt;kaltheat writes in&lt;/a&gt; (We use R0DE Podcast microphones and Logitech C920 HD webcams)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slexy.org/view/s21SkX19Cp" target="_blank" rel="nofollow noopener"&gt;Harri writes in&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, rtfm, mailing lists, lists, documentation, doceng, igor, man pages, manpages, wireless, access point, wap, router, pfsense, sun, t5120, dell, cs24-c, server, bhyve, bhyvecon, asiabsdcon, 2014, synology, freenas, ixsystems, megaport, foundation, rack, datacenter, mail, hammer, hammer2, hammerfs, fs, filesystem, rump kernels</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Finally hit 30 episodes! Today we'll be chatting with Warren Block to discuss BSD documentation efforts and future plans. If you've ever wondered about the scary world of mailing lists, today's tutorial will show you the basics of how to get help and contribute back. There's lots to get to today, so sit back and enjoy some BSD Now - the place to B.. SD.</p>

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

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise Servers and Storage For Open Source"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://www.tedunangst.com/flak/post/OpenBSD-on-a-Sun-T5120" target="_blank" rel="nofollow noopener">OpenBSD on a Sun T5120</a></h3>

<ul>
<li>Our buddy <a href="http://www.bsdnow.tv/episodes/2014_02_05-time_signatures" target="_blank" rel="nofollow noopener">Ted Unangst</a> got himself a cool Sun box</li>
<li>Of course he had to write a post about installing and running OpenBSD on it</li>
<li>The post goes through some of the quirks and steps to go through in case you're interested in one of these fine SPARC machines</li>
<li>He's also got another post about OpenBSD on a <a href="http://www.tedunangst.com/flak/post/Dell-CS24-SC-server" target="_blank" rel="nofollow noopener">Dell CS24-SC server</a>
***</li>
</ul>

<h3><a href="https://www.youtube.com/results?search_query=bhyvecon%20tokyo&amp;sm=3" target="_blank" rel="nofollow noopener">Bhyvecon 2014 videos are up</a></h3>

<ul>
<li>Like we mentioned last week, <a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener">Bhyvecon</a> was an almost-impromptu conference before AsiaBSDCon</li>
<li>The talks have apparently already been uploaded!</li>
<li>Subjects include Bhyve's past, present and future, OSv on Bhyve, a general introduction to the tool, migrating those last few pesky Linux boxes to virtualization</li>
<li>Lots more detail in the videos, so check 'em all out
***</li>
</ul>

<h3><a href="http://blog.khubla.com/freebsd/building-my-own-wireless-point" target="_blank" rel="nofollow noopener">Building a FreeBSD wireless access point</a></h3>

<ul>
<li>We've got a new blog post about creating a wireless access point with FreeBSD</li>
<li>After all the recent news of consumer routers being pwned like candy, it's time for people to start building <a href="http://www.bsdnow.tv/tutorials/openbsd-router" target="_blank" rel="nofollow noopener">BSD routers</a></li>
<li>The author goes through a lot of the process of getting one set up using good ol' FreeBSD</li>
<li>Using hostapd, he's able to share his wireless card in hostap mode and offer DHCP to all the clients</li>
<li>Plenty of config files and more messy details in the post
***</li>
</ul>

<h3><a href="http://www.notquitemainstream.com/2014/03/15/why-im-switching-from-synology-to-freenas/" target="_blank" rel="nofollow noopener">Switching from Synology to FreeNAS</a></h3>

<ul>
<li>The author has been considering getting a NAS for quite a while and documents his research</li>
<li>He was faced with the compromise of convenience vs. flexibility - prebuilt or DIY</li>
<li>After seeing the potential security issues with proprietary NAS devices, and dealing with frustration with trying to get bugs fixed, he makes the right choice</li>
<li>The post also goes into some detail about his setup, all the things he needed a NAS to do as well as all the advantages an open source solution would give
***</li>
</ul>

<h2>Interview - Warren Block - <a href="mailto:wblock@freebsd.org" target="_blank" rel="nofollow noopener">wblock@freebsd.org</a></h2>

<p>FreeBSD's documentation project, igor, doceng</p>

<hr>

<h2>Tutorial</h2>

<h3><a href="http://www.bsdnow.tv/tutorials/mailing-lists" target="_blank" rel="nofollow noopener">The world of BSD mailing lists</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://www.shiningsilence.com/dbsdlog/2014/03/18/13651.html" target="_blank" rel="nofollow noopener">HAMMER2 work and notes</a></h3>

<ul>
<li>Matthew Dillon has posted some updated notes about the development of the new HAMMER version</li>
<li>The start of a cluster API was committed to the tree</li>
<li>There are also links to design document, a freemap design document, a changes list and a todo list
***</li>
</ul>

<h3><a href="https://www.youtube.com/watch?v=buo5JlMnGPI" target="_blank" rel="nofollow noopener">BSD Breaking Barriers</a></h3>

<ul>
<li>Our friend <a href="http://www.bsdnow.tv/episodes/2013_11_06-year_of_the_bsd_desktop" target="_blank" rel="nofollow noopener">MWL</a> gave a talk at NYCBSDCon about BSD "breaking barriers"</li>
<li>"What makes the BSD operating systems special? Why should you deploy your applications on BSD? Why does the BSD community keep growing, and why do Linux sites like DistroWatch say that BSD is where the interesting development work is happening? We'll cover the not-so-obvious reasons why BSD still stands tall after almost 40 years."</li>
<li>He also has another upcoming talk, (or "webcast") called "<a href="http://oreillynet.com/pub/e/3059" target="_blank" rel="nofollow noopener">Beyond Security: Getting to Know OpenBSD's Real Purpose</a>"</li>
<li>"OpenBSD is frequently billed as a high-security operating system. That's true, but security isn't the OpenBSD Project's main goal. This webcast will introduce systems administrators to OpenBSD, explain the project's mission, and discuss the features and benefits."</li>
<li>It's on May 27th and will hopefully be recorded
***</li>
</ul>

<h3><a href="http://dreamcat4.github.io/finch/" target="_blank" rel="nofollow noopener">FreeBSD in a chroot</a></h3>

<ul>
<li>Finch, "FreeBSD running IN a CHroot," is a new project</li>
<li>It's a way to extend the functionality of restricted USB-based FreeBSD systems (FreeNAS, etc.)</li>
<li>All the details and some interesting use cases are on the github page</li>
<li>He really needs to <a href="https://www.freshports.org/net-im/finch" target="_blank" rel="nofollow noopener">change the project name</a> though
***</li>
</ul>

<h3><a href="http://blog.pcbsd.org/2014/03/pc-bsd-weekly-feature-digest-22/" target="_blank" rel="nofollow noopener">PCBSD weekly digest</a></h3>

<ul>
<li>Lots of bugfixes for PCBSD coming down the tubes</li>
<li>LZ4 compression is now enabled by default on the whole pool</li>
<li>The latest 10-STABLE has been imported and builds are going</li>
<li>Also the latest GNOME and Cinnamon builds have been imported and much more
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s20SlvTcwd" target="_blank" rel="nofollow noopener">Bostjan writes in</a> (IRC suggests md5deep)</li>
<li><a href="http://slexy.org/view/s2PeMqXFid" target="_blank" rel="nofollow noopener">Don writes in</a></li>
<li><a href="http://slexy.org/view/s21yii6KZe" target="_blank" rel="nofollow noopener">kaltheat writes in</a> (We use R0DE Podcast microphones and Logitech C920 HD webcams)</li>
<li><a href="http://slexy.org/view/s21SkX19Cp" target="_blank" rel="nofollow noopener">Harri writes in</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Finally hit 30 episodes! Today we'll be chatting with Warren Block to discuss BSD documentation efforts and future plans. If you've ever wondered about the scary world of mailing lists, today's tutorial will show you the basics of how to get help and contribute back. There's lots to get to today, so sit back and enjoy some BSD Now - the place to B.. SD.</p>

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

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise Servers and Storage For Open Source"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://www.tedunangst.com/flak/post/OpenBSD-on-a-Sun-T5120" target="_blank" rel="nofollow noopener">OpenBSD on a Sun T5120</a></h3>

<ul>
<li>Our buddy <a href="http://www.bsdnow.tv/episodes/2014_02_05-time_signatures" target="_blank" rel="nofollow noopener">Ted Unangst</a> got himself a cool Sun box</li>
<li>Of course he had to write a post about installing and running OpenBSD on it</li>
<li>The post goes through some of the quirks and steps to go through in case you're interested in one of these fine SPARC machines</li>
<li>He's also got another post about OpenBSD on a <a href="http://www.tedunangst.com/flak/post/Dell-CS24-SC-server" target="_blank" rel="nofollow noopener">Dell CS24-SC server</a>
***</li>
</ul>

<h3><a href="https://www.youtube.com/results?search_query=bhyvecon%20tokyo&amp;sm=3" target="_blank" rel="nofollow noopener">Bhyvecon 2014 videos are up</a></h3>

<ul>
<li>Like we mentioned last week, <a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener">Bhyvecon</a> was an almost-impromptu conference before AsiaBSDCon</li>
<li>The talks have apparently already been uploaded!</li>
<li>Subjects include Bhyve's past, present and future, OSv on Bhyve, a general introduction to the tool, migrating those last few pesky Linux boxes to virtualization</li>
<li>Lots more detail in the videos, so check 'em all out
***</li>
</ul>

<h3><a href="http://blog.khubla.com/freebsd/building-my-own-wireless-point" target="_blank" rel="nofollow noopener">Building a FreeBSD wireless access point</a></h3>

<ul>
<li>We've got a new blog post about creating a wireless access point with FreeBSD</li>
<li>After all the recent news of consumer routers being pwned like candy, it's time for people to start building <a href="http://www.bsdnow.tv/tutorials/openbsd-router" target="_blank" rel="nofollow noopener">BSD routers</a></li>
<li>The author goes through a lot of the process of getting one set up using good ol' FreeBSD</li>
<li>Using hostapd, he's able to share his wireless card in hostap mode and offer DHCP to all the clients</li>
<li>Plenty of config files and more messy details in the post
***</li>
</ul>

<h3><a href="http://www.notquitemainstream.com/2014/03/15/why-im-switching-from-synology-to-freenas/" target="_blank" rel="nofollow noopener">Switching from Synology to FreeNAS</a></h3>

<ul>
<li>The author has been considering getting a NAS for quite a while and documents his research</li>
<li>He was faced with the compromise of convenience vs. flexibility - prebuilt or DIY</li>
<li>After seeing the potential security issues with proprietary NAS devices, and dealing with frustration with trying to get bugs fixed, he makes the right choice</li>
<li>The post also goes into some detail about his setup, all the things he needed a NAS to do as well as all the advantages an open source solution would give
***</li>
</ul>

<h2>Interview - Warren Block - <a href="mailto:wblock@freebsd.org" target="_blank" rel="nofollow noopener">wblock@freebsd.org</a></h2>

<p>FreeBSD's documentation project, igor, doceng</p>

<hr>

<h2>Tutorial</h2>

<h3><a href="http://www.bsdnow.tv/tutorials/mailing-lists" target="_blank" rel="nofollow noopener">The world of BSD mailing lists</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://www.shiningsilence.com/dbsdlog/2014/03/18/13651.html" target="_blank" rel="nofollow noopener">HAMMER2 work and notes</a></h3>

<ul>
<li>Matthew Dillon has posted some updated notes about the development of the new HAMMER version</li>
<li>The start of a cluster API was committed to the tree</li>
<li>There are also links to design document, a freemap design document, a changes list and a todo list
***</li>
</ul>

<h3><a href="https://www.youtube.com/watch?v=buo5JlMnGPI" target="_blank" rel="nofollow noopener">BSD Breaking Barriers</a></h3>

<ul>
<li>Our friend <a href="http://www.bsdnow.tv/episodes/2013_11_06-year_of_the_bsd_desktop" target="_blank" rel="nofollow noopener">MWL</a> gave a talk at NYCBSDCon about BSD "breaking barriers"</li>
<li>"What makes the BSD operating systems special? Why should you deploy your applications on BSD? Why does the BSD community keep growing, and why do Linux sites like DistroWatch say that BSD is where the interesting development work is happening? We'll cover the not-so-obvious reasons why BSD still stands tall after almost 40 years."</li>
<li>He also has another upcoming talk, (or "webcast") called "<a href="http://oreillynet.com/pub/e/3059" target="_blank" rel="nofollow noopener">Beyond Security: Getting to Know OpenBSD's Real Purpose</a>"</li>
<li>"OpenBSD is frequently billed as a high-security operating system. That's true, but security isn't the OpenBSD Project's main goal. This webcast will introduce systems administrators to OpenBSD, explain the project's mission, and discuss the features and benefits."</li>
<li>It's on May 27th and will hopefully be recorded
***</li>
</ul>

<h3><a href="http://dreamcat4.github.io/finch/" target="_blank" rel="nofollow noopener">FreeBSD in a chroot</a></h3>

<ul>
<li>Finch, "FreeBSD running IN a CHroot," is a new project</li>
<li>It's a way to extend the functionality of restricted USB-based FreeBSD systems (FreeNAS, etc.)</li>
<li>All the details and some interesting use cases are on the github page</li>
<li>He really needs to <a href="https://www.freshports.org/net-im/finch" target="_blank" rel="nofollow noopener">change the project name</a> though
***</li>
</ul>

<h3><a href="http://blog.pcbsd.org/2014/03/pc-bsd-weekly-feature-digest-22/" target="_blank" rel="nofollow noopener">PCBSD weekly digest</a></h3>

<ul>
<li>Lots of bugfixes for PCBSD coming down the tubes</li>
<li>LZ4 compression is now enabled by default on the whole pool</li>
<li>The latest 10-STABLE has been imported and builds are going</li>
<li>Also the latest GNOME and Cinnamon builds have been imported and much more
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s20SlvTcwd" target="_blank" rel="nofollow noopener">Bostjan writes in</a> (IRC suggests md5deep)</li>
<li><a href="http://slexy.org/view/s2PeMqXFid" target="_blank" rel="nofollow noopener">Don writes in</a></li>
<li><a href="http://slexy.org/view/s21yii6KZe" target="_blank" rel="nofollow noopener">kaltheat writes in</a> (We use R0DE Podcast microphones and Logitech C920 HD webcams)</li>
<li><a href="http://slexy.org/view/s21SkX19Cp" target="_blank" rel="nofollow noopener">Harri writes in</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
  </channel>
</rss>
