Hi everyone,
When I read about Apache's use of rustls I thought of this thread again.
For mod_tls, the module itself was written in C linking to the
rustls-ffi. I have been wondering if it would be desirable to implement
the modules themselves in Rust as well and how you would go about doing
that. This is something I have superficially looked into in the past but
never really followed through with.
I looked around and found https://github.com/majorz/apache2-rs which has
been inactive since about 7 years ago. There are also a number of forks
which are more recent but also appear to be inactive and left in an
early development state. There appears to be one fork that has only just
been worked on recently with minor tweaks but it is still the same for
the most part.
Recently, I have started to implement something similar, mostly to get
some familiarity with the process of using Rust's bindgen tools. The
approach I chose is somewhat different as I generate the FFI with
bindgen on the fly during the build process. The project is located
here: https://github.com/studersi/apache-rs. I have not implemented any
abstractions yet that are more idiomatic to Rust and stuck to the FFI
generated by bindgen for now. I will likely add such abstractions later
to get the most out of Rust's safety guarantees.
Is anyone else looking into this or maybe even the owner of one of the
other projects? Any other thoughts or comments are welcome as well :-)
Best,
Simon
On 8/21/20 01:00, Wendell Hatcher wrote:
Golang!! πππ
Wendell
On Aug 20, 2020, at 6:58 PM, Nick Kew <n...@apache.org> wrote:
ο»ΏOn Thu, 20 Aug 2020 21:59:50 +0200
Simon Studer <simon.stu...@netnea.com> wrote:
Hi everyone,
Recently, I was wondering which programming language should be used
for new Apache httpd modules.
Whatever suits the module's developer and task.
The C API has a stability promise: if you use it, your
module will continue to work with (at least) future 2.4.x
releases. That give you C or any language with C linkage.
If you deviate from the API, you're on your own.
Alternatives that (broadly speaking) wrap the C API are also
possible: see for example mod_perl and mod_lua.
--
Nick Kew