TL;DR:

  1. Does (one of the) libuv wrappers use a recent libuv version (< 6 months 
ago)?
  2. Does anyone know how to add SSL (in Nim) on top of a libuv wrapper?



I'm still trying to decide what to use for networking. I've noticed there was 
Nim support for [libuv](https://github.com/libuv/libuv), which I hadn't heard 
of before (thanks to not wanting to have anything to do with JS and node.js), 
but I'm not sure if it's used at all. The _design_ of libuv sounds perfect for 
my use-case.

First, there is [libuv](https://nim-lang.org/docs/libuv.html) from the Standard 
Library. Based on the comment in the header, which says it was build using 
[this repo](https://github.com/joyent/libuv), which was "moved" 3 years ago, I 
have to assume that that module has not been updated for at least 3 years 
(unless it was, but no one updated the doc for it, and corrected the header). 
So I guess it's not actually used, otherwise someone would have updated it.

Then there is [libuv](https://github.com/lcrees/libuv) from the "Unofficial 
packages", which was updated (created?) "2 months ago", but I can't see any 
hint about which version of libuv it was based on; it just says "Extracted from 
Nim standard library", which might mean it is also based on an (at least) 3 
years old version of libuv.

When it comes to SSL, it seems libuv team is against integration, because they 
don't want to "take sides" (choose a specific SSL impl). A bit of research 
resulted in 2 possible solutions:

  1. [uv_ssl_t](https://github.com/indutny/uv_ssl_t), which at the same time is 
described as "HIGHLY UNSTABLE" and has not been updated for 2 years.
  2. [evt-tls](https://github.com/deleisha/evt-tls), which was updated "8 days 
ago", and used to be called "libuv-tls", but is now a "generic wrapper" over 
OpenSSL, which, if I understand properly, means I have to build my own wrapper 
on top, to use with libuv.



In a world where "everyone" gets hacked all the time, I can't relate to 
"networking libraries/frameworks" which treat "security" as an "optional 
feature".

Reply via email to