[prev in list] [next in list] [prev in thread] [next in thread]
List: fedora-directory-devel
Subject: =?utf-8?q?=5B389-devel=5D?= c2rust
From: William Brown <wbrown () suse ! de>
Date: 2020-01-22 1:28:32
Message-ID: 9C9D74ED-77F6-492D-A0EB-E15DA8D71DAD () suse ! de
[Download RAW message or body]
Hi all,
Last night Thierry asked about some of the values of rust, and how to approach this \
topic. Rust has been very powerful in how productive it's made me in other projects \
due to the stricter compiler rules, forcing me to handle things correctly.
I think there are really two reasonable approaches to improving 389-ds through the \
use of rust.
The first is that "new code" can be written in rust and layered in. An example is the \
ldapssotoken code currently being reviewed by Mark.
The second is c to rust translation. This takes C, and creates equivalent "unsafe" \
rust that you can "overtime" improve to make it safer. A powerful testament to the \
quality of c2rust is the following blog.
https://immunant.com/blog/2020/01/quake3/
I don't think "rewrite" is a good approach, given how much code we have that works in \
production today, and the possibility of losing much of that historical knowledge and \
hardening that does exist. c2rust is a better approach as we can "overtime" provide \
small polish into the areas, but extend with safer interfaces instead.
An example of a c2rust step we could take is maybe a password plugin, or something \
like uidunique.c.
Hope that's interesting to you,
—
Sincerely,
William Brown
Senior Software Engineer, 389 Directory Server
SUSE Labs
_______________________________________________
389-devel mailing list -- 389-devel@lists.fedoraproject.org
To unsubscribe send an email to 389-devel-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/389-devel@lists.fedoraproject.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic