6ec27bc Ticket 49325 - Proof of concept rust tqueue in sds

Authored and Committed by William Brown 6 years ago
    Ticket 49325 - Proof of concept rust tqueue in sds
    
    Bug Description:  Rust is a modern systems programming language
    in the style of C and C++. It has strict compile time guarantees
    to the correctness of applications, and promises the potential
    to reduce many times of security and stability issues including
    bounds checking, null dereferences, use-after free and more.
    This is achieved without a run time, instead using compile time
    ownership and lifetime checks.
    
    Fix Description:  This ticket is to add a proof of concept that
    we can use Rust as an FFI language with existing C components.
    This adds an optional configure argument to enable a rust thread
    safe queue which is used by nunc-stans for event dispatch.
    
    My tests already show it is safe (it passes all the existing test)
    and the server when built with this option passes the basic suite.
    
    Importantly it shows how we can integrate cargo with autotools,
    and how to expose and C compatible apis from rust.
    
    To use this, at configure time add "--enable-rust".
    
    There are no other changes to the server without this flag, and it
    is not a requirement to build DS, it's optional.
    
    https://pagure.io/389-ds-base/issue/49325
    
    Author: wibrown
    
    Review by: mreynolds, tbordaz (Thank you!)
    
        
file modified
+62 -7
file modified
+34 -0
file modified
+2 -0
file modified
+22 -3