delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

23 May 2023

关掉了 Google 账户的 passkey

最近, Google 账户新增了一种叫做 passkey 的登录方式。

传统的采用密码登录的登录方式中,用户需要用某种方式证明自己知道密码,而绝大多数实现中这意味着网站必须保存用户的密码, 或是密码的 hash 值(通常是HMAC),这意味着网站如果发生了拖库的情况,有可能会将用户的密码或其 hash 值泄漏出去。 此外,用户可能必须输入密码,并将密码通过某种方式传输到服务器上,这样一来在这个过程中便有可能由于本地的木马, 或是网站采用的 SSL/TLS 实现的漏洞导致密码泄漏。除此之外,即使用户十分小心地在每一个不同的网站都使用了不同的密码, 他们仍然需要担心被「钓鱼」的问题,所谓「钓鱼」是这样一种攻击方式:攻击者架设一个看起来很像是用户希望登录的网站的网站, 并诱骗用户输入密码。

Read more...
15 May 2023

辶囗尺乇从 工尸与凹从

辶囗尺乇从 工尸与凹从 刀囗辶囗尺 与工丅 闩从乇丅丶 匚囗以与乇匚丅乇丅凹尺 闩刀工尸工与匚工以丘 乇辶工丅丶 与乇刀 刀囗 乇工凹与从囗刀 丅乇从尸囗尺 工以匚工刀工刀凹以丅 凹丅 辶闩乃囗尺乇 乇丅 刀囗辶囗尺乇 从闩丘以闩 闩辶工曱凹闩。 我竟然看懂了: “Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.” 其实后面还有: “Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Read more...
14 May 2023

C main() 的 exit() 和 return

这里讨论一个犀利而无用的细节问题。事情的缘起是有人在 GitHub 上提了一个 pull request 要求把许多程序的 main() 的终结部分从 exit(X) 改为 return X;,我反对了这一变动。

值得注意的是,在实践上,从 mainreturn 和调用 exit(3) 几乎等效的(此处还是有细微差别, 后面将会讨论),原因是 C 运行环境库的启动部分(这部分会在连接过程中嵌入到可执行文件中, FreeBSD 的实现中,这部分位于 lib/libc/csu/libc_start1.c__libc_start1

void
__libc_start1(int argc, char *argv[], char *env[], void (*cleanup)(void),
    int (*mainX)(int, char *[], char *[]))
{
/* ... */
	exit(mainX(argc, argv, env));
}
Read more...
02 May 2023

FreeBSD 14 确定延期

原定4月25日开始的code slush和KBI冻结并未发生,主要的原因是 OpenSSL 3.0 还未合并, 以及 OpenZFS 近期的一些可靠性问题。

其中,OpenSSL 3.0 由于对 API 的改动比较大,因此会导致一些 port 无法正常工作 (PR 258413)。 近期已经有一批 port 标记为与 OpenSSL 3.x 不兼容, 不过修掉这些可能会需要不少时间。

Read more...
11 Apr 2023

FreeBSD 上的 nginx kTLS 支持

昨天,FreeBSD 13.2 正式发布了kTLS 是在 FreeBSD 13.0 中由 Netflix 赞助的新功能, 过去,TLS/SSL 应用程序对于通讯内容的加解密通常是在用户态进行的,这样一来, 系统在读取出数据和发出数据之前需要进行额外的上下文切换,并在内核和用户地址空间之间来回复制缓冲区来满足加解密的需要。 有了 kTLS 之后,内核可以在 sendfile(2) 时直接在内核上下文中完成加密和填充到网络协议栈的操作,从而减少了上下文切换和不必要的复制操作。

Read more...
02 Apr 2023

姥爷走了

2023年4月2日凌晨1时58分,北京,姥爷走了。

Read more...
25 Mar 2023

Gordon Moore

2023年3月24日,戈登·摩尔(Gordon Moore)在夏威夷的家中逝世,享耆寿94岁。

戈登·摩尔于1929年出生在美国加州旧金山,并在佩斯卡德罗度过了他的童年时光。他的家族是最早一批最早一批定居在加州的英国移民家庭之一。在他家搬去红木城之后不久,邻居家孩子的一套 BGL Chemical Set 让他第一次接触到了化学,这点燃了他对化学的兴趣,并最终让他成为了一位化学家。在圣何塞州立大学学习两年之后,他在加州大学伯克利分校获得了学士学位,并在此后的1954年在加州理工学院获得了物理化学博士学位,接着进入了马里兰州的约翰霍普金斯大学应用物理实验室。

Read more...
10 Feb 2023

Google Domain 域名转让备忘

这里记录一下过程备忘。

我在 2011 年注册了一个比较技术宅的 .org 的域名,但一直没有实际投入使用, 最近宏观经济形势不太好,所以索性把不用的域名出一批来减少持续的花销, 周四终于出现了一位愿意接手的朋友,于是我们找时间做了一次域名转让的操作。

Read more...
08 Feb 2023

如何:去掉贷款的托管账户

上次做重贷款时利率还很低,彼时设立托管(escrow)账户来代缴地产税相当于一个年化利率为 2% (加州 FIN § 50202 (d) )的零存整取账户, 而现时的存款利率普遍已经超过了3%,因此在去年我就已经产生了取消托管账户的想法。

Read more...
16 Jan 2023

Postmortem: UPS 测试导致系统停机故障的事后回顾

摘要

事故影响

由于 UPS 测试触发了系统停机,导致 delphij.net 部分服务停止了约40分钟。服务从 2023-01-16 15:46:20 开始受到影响,至 16:26:55 完全恢复。 如果服务未能及时修复,潜在地将会进一步影响包括权威DNS(有多个独立的冗余,但依赖于持续的数据更新)在内的一些其他关键服务。

问题根源

在测试时对于 CyberPower UPS 测试特性的认识不足导致电池电量消耗至临界值, 由于对 nut 的配置未考虑这种情况直接将服务器关闭, 这使得必须亲自到机房才能完成服务的恢复。

Read more...