FreeBSD

共 688 篇文章。

记一件糗事:术后清理要做好

• Postmortem

今天和 Henry Hu 聊起 iichid 已经进了 FreeBSD 的主线,想起自己之前鼠标啥的还是都在用 sysmouse,觉得既然来都来了就索性都改成 evdev 的输入设备算了?改了 /boot/loader.conf 并增加了下列设置:

iichid_load="YES"
usbhid_load="YES"
hms_load="YES"
hw.usb.usbhid.enable="1"    # 防止uhid(4)接管

重启。等等,一闪而过的那是什么?

ntpd is not allowed to log in on /dev/console
阅读全文… ( 本文约 1449 字,阅读大致需要 3 分钟 )

FreeBSD终于换了git

• Development

FreeBSD 最近终于完成了从 subversion 到 git 的转换(其实还没算彻底完成,不过 src/ 和 doc/ 都已经完成了)。

我个人用 git 用了蛮久了,最早开始严肃地用 git 大概是2012年年底 Illumos 从 hg 换成 git 的时候的事情,当时 FreeNAS 的开发也从 subversion 迁移到了 git,后来,我们也把 FreeNAS 内嵌的 FreeBSD 的开发搬到了 git 上面。

阅读全文… ( 本文约 347 字,阅读大致需要 1 分钟 )

geli(8)的HMAC设计

• Kernel

读到哪算哪的先记一笔。

geli(8)在启用了数据完整性检测的时候采取的设计是将HMAC数据保存在同一扇区中,换言之它在保存数据时,物理扇区(通常是512字节)中占用了32字节来保存HMAC数据。

阅读全文… ( 本文约 590 字,阅读大致需要 2 分钟 )

RIP Dr. Bruce Evans

• Tribute

Bruce Evans (bde@),那个愿意花时间在你改了三行看似无关紧要代码的时候写上整整两页回信细数为什么这么做不对,之前他们还做过什么以及为什么那么做也不行的老爷子在上周(12月18日)突然去世了。我已经开始想念他了。

阅读全文… ( 本文约 107 字,阅读大致需要 1 分钟 )

用 Pomerium 来实现基于身份的访问控制

• Security

Google 在十年前提出了一套名为 BeyondCorp 的零信任网络的安全方案。这套方案想要完整地实现还是有一定门槛的,在这种模型下,企业内网不再作为一个安全边界存在,相反即使在内网进行的访问也必须进行和外网同样的鉴权与访问控制。最终的改造方向是内网不再是一个特权网络,每个终端上部署的客户端证书主要是作为一项身份信息来使用。

阅读全文… ( 本文约 919 字,阅读大致需要 2 分钟 )

clang优化器的一个问题

• Development

📜 历史文件已不具备现实意义

今天的一个偶然的发现。FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525。clang 3.8 2015/07/20 的版本同样有此问题。

之前, FreeBSD 上 strndup(3) 的实现是这样的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
char *
strndup(const char *str, size_t n)
{
	size_t len;
	char *copy;

	len = strnlen(str, n);
	if ((copy = malloc(len + 1)) == NULL)
		return (NULL);
	memcpy(copy, str, len);
	copy[len] = '\0';
	return (copy);
}

而 OpenBSD 上的实现,则是这样的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
char *
strndup(const char *str, size_t maxlen)
{
	char *copy;
	size_t len;

	len = strnlen(str, maxlen);
	copy = malloc(len + 1);
	if (copy != NULL) {
		(void)memcpy(copy, str, len);
		copy[len] = '\0';
	}

	return copy;
}
阅读全文… ( 本文约 304 字,阅读大致需要 1 分钟 )

还是得提高知识水平

• Security

📜 历史文件已不具备现实意义

freebsd-update 目前已进入维护状态并可能在后续 FreeBSD 版本中逐步被替换掉。

今天搞了一个 大新闻。如果你用BIND并且今天之前没打过补丁的话,请读到这里为止,立即去补吧。

我觉得还是得提高知识水平。做 freebsd-update 补丁的时候,赫然发现修改的文件中有一个不认识的:

阅读全文… ( 本文约 412 字,阅读大致需要 1 分钟 )

FreeBSD -CURRENT随机数发生器问题

• Kernel, Security

今天 John-Mark Gurney 修正了一个影响过去4个月左右的 FreeBSD -CURRENT 的随机数发生器问题,具体受影响的版本是 r273872(引入问题)到 r278907 (修正)。

由于问题只影响 -CURRENT,因此我们不会就此发表安全公告。

阅读全文… ( 本文约 407 字,阅读大致需要 1 分钟 )

OpenSSL 的新一批漏洞

• Security

今天早上4点多就爬起来准备发安全公告(友商约的是早上5点发),一刷,OpenSSL官方已经正式发表了(时间大约是4点30),于是立即开始相关手续,commit修正,发公告,通知CERT,这些不表。

阅读全文… ( 本文约 779 字,阅读大致需要 2 分钟 )