c2rust

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to 389-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Directory Announce]     [Fedora Users]     [Older Fedora Users Mail]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Review]     [Fedora Art]     [Fedora Music]     [Fedora Packaging]     [CentOS]     [Fedora SELinux]     [Big List of Linux Books]     [KDE Users]     [Fedora Art]     [Fedora Docs]

  Powered by Linux