From owner-freebsd-hackers@freebsd.org Mon Dec 31 14:05:48 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0FD4143582B for ; Mon, 31 Dec 2018 14:05:48 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id 31FF26D980 for ; Mon, 31 Dec 2018 14:05:48 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id 73D7226E0 for ; Mon, 31 Dec 2018 14:05:46 +0000 (UTC) To: freebsd-hackers@freebsd.org References: <39272.1546241776@critter.freebsd.dk> From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Subject: Re: Speculative: Rust for base system components Message-ID: Date: Mon, 31 Dec 2018 09:05:41 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <39272.1546241776@critter.freebsd.dk> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="1EkmMiZUvYPMSPWClHwzggurudpsDtzaG" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 14:05:48 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --1EkmMiZUvYPMSPWClHwzggurudpsDtzaG Content-Type: multipart/mixed; boundary="qGfaMKZkWMWmUwlTF4WtmyNzVj8lSZc3n"; protected-headers="v1" From: Eric McCorkle To: freebsd-hackers@freebsd.org Message-ID: Subject: Re: Speculative: Rust for base system components References: <39272.1546241776@critter.freebsd.dk> In-Reply-To: <39272.1546241776@critter.freebsd.dk> --qGfaMKZkWMWmUwlTF4WtmyNzVj8lSZc3n Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 12/31/18 2:36 AM, Poul-Henning Kamp wrote: > So exactly which "base system components" are we talking about ? >=20 > The largest non-contrib program we maintain in the tree, is ppp(8) > and that is only 43KLOC. >=20 > That is not enough code to warrant a refactoring into a different > programming language, in particular not when usage is so low that > nobody has even bothered to merge the multi-link support from > net/mpd5 in the last 10 years. >=20 > So the only piece of code I can imagine which would ever come close > to qualifying, would be if somebody starts writing BSystemD(8) > from scratch. >=20 > And I'm 100% convinced that people will want that optional and firmly > segregated in a port for at least the first a decade. >=20 > And as far as I know, we *are* trying to make base more modular, and > migrate it to pkgbase to make the attachment of/to ports more > seamless, right? That's an interesting point. If the modularization effort ends up providing the ability to replace parts of contrib with certain ports, then it would be rather straightforward to create rust-based alternatives= =2E As for what I'd be keen to rewrite, I'd put security-critical bits like, say, pam, kerberos, su, and such on the list. I've also kicked around the idea of trying to get a simple Rust-based EFI boot loader up and going. All of these would benefit from WRT kerberos, I did have the base heimdal replaced with MIT kerberos from ports for a while. This mostly works (and has some benefits), but unfortunately doesn't seem to be able to support kerberized NFS. --qGfaMKZkWMWmUwlTF4WtmyNzVj8lSZc3n-- --1EkmMiZUvYPMSPWClHwzggurudpsDtzaG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCoiNQAKCRAI38IpFsHC bLLvAP0ak9E/MRZxIVa94KrZ2iPW+hnHUb1iwNMAPJvzeATB2AEA8l5tehbGIYbW hP3SpWQ6YrawVbW8JCBVXCXMnO5CjQM= =Oadk -----END PGP SIGNATURE----- --1EkmMiZUvYPMSPWClHwzggurudpsDtzaG--