[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