summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAge
* fixes #3 TLS transportGarrett D'Amore2017-11-20
| | | | | | | | | | | | | | | | | | | This introduces a new transport (compatible with the TLS transport from mangos), using TLS v1.2. To use the new transport, you must have the mbed TLS library available on your system (Xenial libmbedtls-dev). You can use version 2.x or newer -- 1.3.x and PolarSSL versions are not supported. You enable the TLS transport with -DNNG_TRANSPORT_TLS=ON in the CMake configuration. You must configure the server certificate by default, and this can only be done using nng options. See the nng_tls man page for details. This work is experimental, and was made possible by Capitar IT Group BV, and Staysail Systems, Inc.
* fixes #143 Protocols and transports should be "configurable"Garrett D'Amore2017-11-02
| | | | | | | | | | | | | | | | | | | | This makes all the protocols and transports optional. All of them except ZeroTier are enabled by default, but you can now disable them (remove from the build) with cmake options. The test suite is modified so that tests still run as much as they can, but skip over things caused by missing functionality from the library (due to configuration). Further, the constant definitions and prototypes for functions that are specific to transports or protocols are moved into appropriate headers, which should be included directly by applications wishing to use these. We have also added and improved documentation -- all of the transports are documented, and several more man pages for protocols have been added. (Req/Rep and Surveyor are still missing.)
* ZeroTier transport implementation (work funded by Capitar IT Group BV)Garrett D'Amore2017-09-26
| | | | | | | | | | | | | The ZeroTier transport is experimental at this point, and not enabled by default. It does not work with Windows yet (the Windows platform needs UDP support first.) Configure with -DNNG_ENABLE_ZEROTIER=yes -DNNG_ZEROTIER_SOUCE=<path> The <path> must point to a dev branch of the ZeroTierOne source tree, checked out, and built with a libzerotiercore.a in the top directory, and a ZeroTierOne.h header located at include. The build will add -lc++ to the compile, as the ZeroTier core functionality is written in C++ and needs some runtime support (e.g. new, delete, etc.)
* Add C++ test program, proving C++ consumers work.Garrett D'Amore2017-09-26
| | | | | | We fixed up the coverage flags for GNU C, but are not going to run the C++ tests when doing coverage (they fail linking gcov for reasons unknown.)
* Add nni_strnlen.Garrett D'Amore2017-08-28
| | | | More string safety for stuff coming from externals.
* Introduce utility safe string handling functions.Garrett D'Amore2017-08-28
| | | | | | | | We have our versions of strdup, strlcat, and strlcpy. This means we can avoid using snprintf() in many cases (saving cycles), and we can get safer checks. We use the platform supplied versions of these if they exist (wrapping with nni_xxx versions.)
* Conditional platform inclusion cleanups.Garrett D'Amore2017-08-21
| | | | | | | | | | We only compile files that are appropriate for the platform. (We still have guards in place, to allow for a future single .C file to be built from all the sources.) We also remove the subsystem defines; if a new platform needs to deviate from POSIX in ways beyond what we intended here, then that platform should just copy those parts into a new platform directory, rather than cross including portions from POSIX.
* Compiler switches need to be a string.Garrett D'Amore2017-08-07
|
* Problem was module path override, I think.Garrett D'Amore2017-08-07
|
* More coverage tweaks (I hope).Garrett D'Amore2017-08-07
|
* Richer CI support on Travis, including code coverage.Garrett D'Amore2017-08-07
| | | | We use codecov.io; this seems to work well.
* COnvert UDP to new style.Garrett D'Amore2017-08-04
|
* Use common socket handling on POSIX (tcp done, ipc pending.)Garrett D'Amore2017-06-29
|
* Added more plumbing to facilitate test writing & compatibility.Garrett D'Amore2017-01-26
| | | | | | Also, while here fixed a bug for the PAIR protocol in compat mode. It should now be possible to import more of the nanomsg tests directly with little or no modification.
* Initial swag at notification pipes (not used yet).Garrett D'Amore2017-01-21
|
* Add more platforms (the *BSDs, SunOS/illumos) and update docs slightly.Garrett D'Amore2017-01-21
|
* Compile static *and* shared libraries.Garrett D'Amore2017-01-15
| | | | | Test code needs to use the static libraries so that they can get access to the entire set of symbols, including private ones that are not exported.
* Pull out the posix clock stuff for plat_clock.Garrett D'Amore2017-01-12
|
* Stop testing some stuff we don't care about.Garrett D'Amore2017-01-12
|
* Add initial performanced tests.Garrett D'Amore2017-01-05
|
* Enabling C99 requires CMake version 3.1 or better.Garrett D'Amore2016-12-31
|
* Use C99.Garrett D'Amore2016-12-21
|
* So "test" target now does something useful.Garrett D'Amore2016-12-17
|
* Early test framework, modeled on GoConvey.Garrett D'Amore2016-12-15
|
* Initial cmake plumbing (stolen from libnanomsg)Garrett D'Amore2016-12-12