OpenBSD 決定拔掉 softdep (Soft Updates)

看到「Soft updates (softdep) disabled for future VFS work」這篇,OpenBSD 決定拔掉 Soft updates

第一次接觸到 soft updates 是在 FreeBSD 上,應該也是快 20 年了,用機械硬碟的時候有沒有 soft updates 寫入速度差蠻多的,但不知道對於現在 SSD 滿街跑的情況如何,這次拔掉看起來也沒有講原因,後續可以看一下報導...

Journaling 是另外一個技巧,查資料的時候還查到有 SU+J 的組合技,但太久沒用 FreeBSD 了,現在都在 Linux ecosystem 了...

WireGuard 的 OpenBSD porting

在「WireGuard patchset for OpenBSD」這邊看到有人試著把 WireGuard 放入 OpenBSD 的消息。

整包 patchset 包括了 kernel 與 userland 的實做,可以在 mailing list 上「WireGuard patchset for OpenBSD」這邊可以看到,整串討論可以在「'WireGuard patchset for OpenBSD' thread - MARC」這邊看到,目前看起來還在 code review 的階段,有看到討論提到應該用 OpenBSD 內已經實做的 Chacha20-Poly1305,所以可能還會需要一些時間...

看起來慢慢的在滲進每個作業系統中,蠻有希望在幾年後成為業界標準...

openrsync

在「openrsync imported into the tree」這邊看到 openrsync 專案進入到 OpenBSD 的 source tree 內。

rsync 是使用 GPLv3 授權,這個授權剛出來的時候,幾個比較大的 BSD 的團隊都有找律師研究過,最後都是做出不要把 GPLv3 的軟體放進 source tree 的建議,但 rsync 算是很好用的工具 (尤其是在效率上)。

看起來 openrsync 這個專案主要的目的就是重新實做出 ISC license 版本的 rsync:

This is an implementation of rsync with a BSD (ISC) license. It's compatible with a modern rsync (3.1.3 is used for testing, but any supporting protocol 27 will do), but accepts only a subset of rsync's command-line arguments.

然後目前只有設計在 OpenBSD 上跑,其他平台可能需要花些時間 porting 修正相容性:

At this time, openrsync runs only on OpenBSD. If you want to port to your system (e.g. Linux, FreeBSD), read the Portability section first.

GitHub 上的 Git repository 只是個 mirror,真正在管理程式碼的部份還是使用 CVS

This repository is a read-only mirror of a private CVS repository. I use it for issues and pull requests. Please do not make feature requests: I will simply close out the issue.

OpenBSD 將 ACME Client (Let's Encrypt Client) 納入系統

看到 OpenBSD 直接把 ACME 協定的 client 放進系統內,而 ACME 也就是 Let's Encrypt 所使用的協定:「Let's Encrypt client imported into -current」:

CVSROOT:	/cvs
Module name:	src
Changes by:	florian@cvs.openbsd.org	2016/08/31 16:01:42

Added files:
	usr.sbin/acme-client: ChangeLog Makefile acctproc.c base64.c 
	                      certproc.c chngproc.c dbg.c dnsproc.c 
	                      extern.h fileproc.c http.c http.h jsmn.c 
	                      jsmn.h json.c keyproc.c letskencrypt.1 
	                      main.c netproc.c revokeproc.c rsa.c rsa.h 
	                      sandbox-pledge.c util-pledge.c util.c 

Log message:
Import Kristaps' letskencrypt and call it acme-client in tree.
OK to get it in deraadt@ (and probably beck@)

At least deraadt@, beck@ and otto@ are fine with the name and the
disagreements stopped.

用的是 acme-client,先前叫做 letskencrypt,以 C 開發的 ACME client。

Libreboot 成功的讓 FreeBSD/OpenBSD 開機

Libreboot 是一個 open source 版本的 BIOS/UEFI 替代品:

Libreboot is a free BIOS or UEFI replacement (free as in freedom); libre boot firmware that initializes the hardware and starts a bootloader for your operating system.

而最近的版本則是順利的在沒有修改作業系統來配合 Libreboot 的情況下將 FreeBSDOpenBSD (不過是 kOpenBSD) 開起來了:「Re: [Libreboot] GNU Libreboot, version 20160818 released」。

OpenBSD 的 OpenSSL 清理工作

在「One week of OpenSSL cleanup」這篇提到了 OpenBSD 的 committer 最近花了不少時間在清理 OpenSSL (OpenBSD 內的 OpenSSL)。

All combined, there've been over 250 commits cleaning up OpenSSL. In one week.

清理的過程主要是針對 OpenBSD 所支援的平台,所以其他平台的支援都被拔乾淨了。即使如此,清過後的版本重新 porting 到各 Unux-like 平台應該是還蠻有希望的。

BSD Commit Log Search 這邊則可以搜尋到 OpenSSL 被清的情況:「http://freshbsd.org/search?project=openbsd&q=libssl」。

花些時間翻一翻,會可以看到 OpenSSL 很多習慣並不好 (尤其是在資安領域)。

像是 OpenSSL 預設居然沒有把所有的 code 都上 -Wall,這點讓人有點... 呃... 要怎麼說呢...:「58c7f6cb678b7e31b80d290b5823b16d70760801」。

然後看到大量的 potential double free fix,呃...

繼續看下去吧,看起來 OpenBSD 這一波 cleanup 應該會再爆出一些安全問題 (多冒出幾個 CVE 出來)。

OpenBSD 要支援 signed package 了...

Slashdot 上看到 OpenBSD 要支援 signed package 的消息:「OpenBSD Moving Towards Signed Packages — Based On D. J. Bernstein Crypto」。

使用的演算法是 djbEd25519,是基於橢圓曲線密碼系統的演算法。演算法名稱取自 2255-19 這個參數。

[ed25519] 23pp. (PDF) Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, Bo-Yin Yang. High-speed high-security signatures. Journal of Cryptographic Engineering 2 (2012), 77–89. Document ID: a1a62a2f76d23f65d622484ddd09caf8. URL: http://cr.yp.to/papers.html#ed25519. Date: 2011.09.26.

意外發現魯教授的名字出現在列表上...

*BSD 出新版...

看到 lwhsuPlurk 上提到最近 *BSD 都在出新版,發現不只是 NetBSDOpenBSD,連 DragonFlyBSD 最近也出新版,而下禮拜 FreeBSD 7.2 也要 release... (不知道會 delay 多久)

Update:FreeBSD 7.2-RELEASE 釋出了。

可能要玩 NetBSD,如果他的 lock mechanism 改的比 FreeBSD 好的話...

BSD license 的 C Compiler

上看到 貼了這個 link:BSD Licensed PCC Compiler Imported 的人把 () 放到 CVS repository 了。

決定要走向 後,就可以預測到下面這幾件事情一定會有一件發生:

  • 4.2.1 (以 發佈的最後一個版本) 發展的 C Compiler,維持
  • 重寫,或是改寫一個 C Compiler,以比 更自由的 license 釋出。

前者在 決定轉為 的時候就有人說要做,但是一直沒看到進一步的消息。後者則是 ( maintainer) 決定拿 改,結果 把這份 code 塞進 的 CVS repository 裡。

看 CVS log 的檔案列表似乎支援不少平台,但據說目前 只能夠在 i386 平台上跑,而且還有 bug。不過當有人先做了第一步,造成新聞後 (這是重點),接下來的事情就好辦很多了...

另外幾個有趣的事情拿來對照 的動作還蠻有趣的: 大魔頭 對於 Linux community 處理 GPLv2/BSD license 雙重授權時的砲轟,以及 預定在 9/18 釋出 4.2.2 的計畫。