summaryrefslogtreecommitdiff
path: root/README.adoc
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-12-29 14:21:20 -0800
committerGarrett D'Amore <garrett@damore.org>2017-12-30 19:05:41 -0800
commit6a50035b242b972c1d9b659ba63e037a0a8afe71 (patch)
treefe2600235a01e72d1e7bd5fad1d5e2ea62aada2e /README.adoc
parenta0364185784895c4bc748a6e6453a132d618c96c (diff)
downloadnng-6a50035b242b972c1d9b659ba63e037a0a8afe71.tar.gz
nng-6a50035b242b972c1d9b659ba63e037a0a8afe71.tar.bz2
nng-6a50035b242b972c1d9b659ba63e037a0a8afe71.zip
fixes #166 Websocket TLS mapping
This introduces the wss:// scheme, which is available and works like the ws:// scheme if TLS is enabled in the library. The library modularization is refactored somewhat, to make it easier to use. There is now a single NNG_ENABLE_TLS that enables TLS support under the hood. This also adds a new option for the TLS transport, NNG_OPT_TLS_CONFIG (and a similar one for WSS, NNG_OPT_TLS_WSS_CONFIG) that offer access to the underlying TLS configuration object, which now has a public API to go with it as well. Note that it is also possible to use pure HTTPS using the *private* API, which will be exposed in a public form soon.
Diffstat (limited to 'README.adoc')
-rw-r--r--README.adoc44
1 files changed, 27 insertions, 17 deletions
diff --git a/README.adoc b/README.adoc
index 29c8e1c2..8912d879 100644
--- a/README.adoc
+++ b/README.adoc
@@ -11,10 +11,10 @@ can start using it for development, as we believe we are getting closer
to release readiness.
Review and testing feedback are appreciated however; but please understand
-that the project is still quite preliminary.
+that the project is still preliminary.
-This is a work in progress, and is *not* suitable for production use or
-publication. When the library is ready for broader consumption, an
+This is a work in progress, and is *not* suitable for production use.
+When the library is ready for broader consumption, an
announcement will be posted on the nanomsg mailing list and website.
Some https://nanomsg.github.io/nng/man/[manual pages] are posted
@@ -24,26 +24,36 @@ If you are looking for the current production version of nanomsg, please
see the https://github.com/nanomsg/nanomsg[nanomsg repo].
If you want to build and test yourself, you need CMake version 3.1, and
-you can use standard CMake build recipes. On a Linux/UNIX system,
-you can for example do:
+you can use standard CMake build recipes. (We highly recommend using
+https://ninja-build.org[Ninja] as it is much faster than traditional
+build systems.) On a Linux/UNIX system, if you have Ninja already
+installed, you can for example do:
[source,sh]
----
$ mkdir build
- $ cmake ..
- $ make
- $ make test
+ $ cmake -G Ninja ..
+ $ ninja
+ $ ninja test
----
-If you want to enable the TLS transport, which is not supported by legacy
-nanomsg, use -DNNG_TRANSPORT_TLS=ON in your cmake command line. You will
-need to have the ARM mbedTLS library installed. (This is available in
-Xenial Ubuntu as libmbedtls-dev).
-
-The API is not yet documented, but if you want to explore using the newer
-API, pleaes have a look at the `nng.h` header file. A legacy compatible
-`nng_compat.h` header is available and offers API compatibility with legacy
-_nanomsg_.
+This library can be compiled with support for TLS, which enables
+the use of the "tls+tcp://" and "wss://" schemes. In order to this,
+configure with `-DNNG_ENABLE_TLS=ON`.
+
+NOTE: The `NNG_ENABLE_TLS` library depends on the ARM
+https://tls.mbed.org[mbedTLS] library. This library is available
+in packaged form for many systems, and can be built for just about
+any of the others. However, please be aware of the licensing
+implications, because the mbedTLS library carries other licensing
+requirements (either Apache or GPL) than _nng_.
+either Apache or GPL licenses.
+
+Documentation is a work in progres -- initial pages are
+https://nanomsg.github.io/nng[online], but there is much missing.
+You can also explore the `nng.h` header file, which provides the public
+API. A legacy compatible `nng_compat.h` header is available and
+offers API compatibility with legacy _nanomsg_.
== Commercial Support