summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Remove tag - version 1.0.0 fcs now.v1.0.0Garrett D'Amore2018-06-08
|
* fixes #517 nng_recv needs to document NNG_FLAG_NONBLOCKGarrett D'Amore2018-06-08
|
* fixes #509 We need "relative" IPC URLsGarrett D'Amore2018-06-08
| | | | | | This special cases the URL parser for inproc and IPC urls, changing so that they no longer parse the thing after the :// as anything special. This allows IPC URLs to be relative.
* Fix spelling errors in README.Garrett D'Amore2018-06-08
|
* fixes #510 HTTP and TLS man pages refer to private symbolsGarrett D'Amore2018-06-08
|
* fixes #514 Need documentation updates for 1.0Garrett D'Amore2018-06-08
|
* fixes #512 ZeroTier can use master branch of ZeroTierOne nowGarrett D'Amore2018-06-08
|
* fixes #508 nng_aio_free blocks during callbackGarrett D'Amore2018-06-07
| | | | | | | | | | | | | | | | This recycles the job structures, and so the demo seems to work. If you have sufficient concurrency, these aio structures will ultimately leak (with the level of concurrency), but for this demo that's fine. (To keep them from leaking, you'd walk the freelist and discard them just before exiting. The actual growth of the list should be quite small.) There are other strategies that could be used to avoid uncontrolled growth, but they aren't useful for our demo purposes. Also, when we have a fix for 511, we can go ahead and just do a deferred discard. As aios are used *heavily* in the code, the strategy of a deferred cache may help reduce presssure on the heap, andd might be something we want to explore for the core.
* Adding sys/stat.h to src/platform/posix/posix_aio.h for building with muslMark Stevens2018-06-04
|
* 1.0.0 rc.1v1.0.0-rc.1Garrett D'Amore2018-06-01
|
* fixes #496 nngcat tests fail in Xcode buildGarrett D'Amore2018-06-01
| | | | | | | | | | | | This avoids copying the tests, but runs them with bash from the source directory, and passes the path to the built nngcat binary to the script. It also permits these to run if we find bash, so that systems without bash won't run it and fail. We still only do this on POSIX though, because Windows bash is too broken to use for some of the tests.
* Use IMPORTANT instead of WARNING for consistent icons and messaging.Garrett D'Amore2018-05-30
|
* Fix numerous spelling errrors.Garrett D'Amore2018-05-30
| | | | | | | These were found with the help of "aspell". Additionally, while reviewing the output from the spell checker, several content errors were noticed and fixed.
* fixes #499 Eliminate the unused nni_plat_home_dir...Garrett D'Amore2018-05-30
|
* Fix warning in Windows build.Garrett D'Amore2018-05-30
|
* fixes #477 Android NDK build configurationGarrett D'Amore2018-05-30
| | | | | | | | | | | | This enables the software to be built for Android, going back to at least Android SDK r15 (IceCreamSandwich) and at least up to SDK r27 (Oreo). Older versions of Android may work, but we have no way to build them to test. While here we have changed our CMake configuration to disable building tools or tests when we detect a cross-compile situation. Documentation for cross-compilation is updated as well.
* Provide some information for building on iOS.Garrett D'Amore2018-05-29
|
* fixes #495 SEE ALSO should use [align=left]Garrett D'Amore2018-05-29
| | | | | | | | | | | | fixes #494 ERRORS section should use [horizontal] These changes address some basic formatting consistency things, and ultimately (when combined with other tooling changes that are not part of this repo) lead to vastly improved layout in the printed documentation. While here we removed trailing whitespace, and did certain other minor markup tweaks.
* fixes #484 crashes in websocket transportGarrett D'Amore2018-05-29
| | | | | | | | | | | | | | | | | | | | | | | fixes #490 posix_epdesc use-after-free bug fixes #489 Sanitizer based testing would help fixes #492 Numerous memory leaks found with sanitizer This introduces support for compiler-based sanitizers when using clang or gcc (and not on Windows). See NNG_SANITIZER for possible settings such as "thread" or "address". Furthermore, we have fixed the issues we found with both the thread and address sanitizers. We believe that the thread issues pointed to a low frequency use-after-free responsible for rare crashes in some of the tests. The tests generally have their timeouts doubled when running under a sanitizer, to account for the extra long times that the sanitizer can cause these to take. While here, we also changed the compat_ws test to avoid a particularly painful and time consuming DNS lookup, and we made the nngcat_unlimited test a bit more robust by waiting before sending traffic.
* fixes #419 Remove the "convey" meta testGarrett D'Amore2018-05-29
| | | | | The test itself is not sanitizer friendly, and we don't need to do this meta testing; convey already does it in it's own repo.
* fixes #488 pthread mutex initializer could be simplerGarrett D'Amore2018-05-29
| | | | | | | The fallback logic was unnecessarily complicated, and found to be somewhat data-racy; on modern systems initializing these things never fails, and on BSD systems that only occurs under extreme memory shortage.
* fixes #486 Revisit SOVERSION and VERSIONGarrett D'Amore2018-05-25
| | | | | | | | | | | | | | | | | | | | | | fixes #485 Honor BUILD_SHARED_LIBS fixes #483 Don't expose private symbols in shared library fixes #481 Export CMake target This is a "large" commit involving changes that don't affect the code directly, but which have an impact on how we package and build our project. The most significant of these changes is that we now build only either a shared or a static library, depending on the setting of the BUILD_SHARED_LIBS option. We also suppress private symbols from being exposed when the underlying toolchain lets us do so. Minor updates to the way we version the ABI are used, and we now have a nice exported CMake project. To import this project in another, simply do find_package(nng) and you can add target_link_libraries(nng::nng) to your targets. CMake does the rest for you.
* Add webhook for gitter notifications.Garrett D'Amore2018-05-23
|
* Update for 1.0.0-beta.2v1.0.0-beta.2Garrett D'Amore2018-05-22
|
* fixes #476 Crank the library ABI versionGarrett D'Amore2018-05-22
|
* fixes #474 websocket listen on ws://*:<x> failsGarrett D'Amore2018-05-22
| | | | | | | | | | | | fixes #464 Support NN_WS_MSG_TYPE option (compat) fixes #415 websocket does not honor recv maxsize This fixes a significant (and security) issue in websocket, where the code does not honor a maximum receive size. We've exposed new API (internal) to set the limit on the frame size, and we've changed the default to *unlimited* for that internal API. (But the default for SP sockets, which are the only consumers at present, is still 1MB just like all other SP transports.)
* fixes #473 Bug 460 is too aggressiveGarrett D'Amore2018-05-21
|
* fixes #471 Linux resolver truncates port number silentlyGarrett D'Amore2018-05-21
|
* fixes #469 SO_REUSEADDR should be enabledGarrett D'Amore2018-05-21
| | | | | | | | | | | | | | | | | | | fixes #468 TCP nodelay and keepalive should start usable fixes #467 NN_RCVMAXSZ option does not work (compat) fixes #465 Support NN_OPT_TCPNODELAY (compat) This is a rather larger change set than I'd like, but when adding support for legacy TCP keepalive, I found a number if issues using the legacy TCP test (which we are introducing with this commit.) This fixes the concerns that are relevant and addressible. We have elected not to try to support to local address binding at this time, and the IPv6 test case in the old code was wrong, so changes relevant to that are commented out. I've also updated the nng_compat manual page to reflect additional caveats that folks should be aware of, including the previously undocumented caveat around the NN_SNDBUF and NN_RCVBUF options.
* fixes #472 Test for pub/sub fails due to not waiting long enoughGarrett D'Amore2018-05-21
|
* Fix minor error in keepalive reference.Garrett D'Amore2018-05-21
|
* fixes #459 SUB should be more aggressive about discarding messagesGarrett D'Amore2018-05-21
| | | | | | | | | As part of this code fix, we needed to add filtering support to the msgq_tryput code path -- it turns out that code path was bypassing the filterfn altogether. Eventually we'll remove all this filtering stuff from the msgq code and replace it with inline filtering directly in sub.
* fixes #457 Create stub headers for compatibilityGarrett D'Amore2018-05-21
| | | | | | | | | | I actually made these real headers, not stubs While here I made some improvements to the nng_compat man page, to improve the language and also the presentation on some devices. (We were going nuts with the icons, instead, I've made a single new section, called Caveats, that lists a bunch of them.) This should not have any impact on binary compatibility.
* Markup changes to address problems in kindlegen conversion.Garrett D'Amore2018-05-21
|
* fixes #462 mode_t missing during compilationGarrett D'Amore2018-05-20
|
* fixes #458 Improve man page section descriptions.Garrett D'Amore2018-05-19
|
* fixes #444 Stop looking for asciidoctor by defaultGarrett D'Amore2018-05-18
| | | | | | | | | | | While here, we have actually cleaned this up and enabled documentation building to work, for folks that want it. We default to off, because frankly folks should just use the website and be happy. If docs are enabled, then both man pages and html are generated. The man pages are noticably inferior (only so much you can do with 80 columns of text), but some people have indicated they prefer to be able to type "man" something.
* Minor markup fix for nngcat.1.Garrett D'Amore2018-05-18
|
* Remove extraneous closing parens (docs).Garrett D'Amore2018-05-18
|
* Fix incorrect cross reference.Garrett D'Amore2018-05-18
| | | | | | We have the constructors for sockets with filenames without the version, such as nng_req_open.3. This broken link was found when building the epub book.
* fixes #455 publish script for man pages needs updatesGarrett D'Amore2018-05-18
|
* Update for 1.0.0-beta.1v1.0.0-beta.1Garrett D'Amore2018-05-18
| | | | | | We've added a new macro, NNG_RELEASE_SUFFIX. If this is not empty, then the release should be considered a pre-release, with no specific stability guarantees.
* fixes #451 task finalization could be better/smarter (resolver)Garrett D'Amore2018-05-17
| | | | | | | | | | | | | | | | | | | | | | | This changes nni_task_fini to always run synchronously, waiting for the task to finish before cleaning up. Much simpler code. Additionally, we've refactored the resolver code to avoid the use of taskqs, which added complexity and inefficiency. The approach of just allocating its own threads and a work queue to process them turns out to be vastly simpler, and actually reduces extra allocations and context switches. wip POSIX resolv threads. (Taskqs are just overhead and complexity here.) Windows resolver changes. Task cleanup. fix up windows mutex.
* fixes #452 Want tcp6:// and tcp4:// to constrain IP familyGarrett D'Amore2018-05-17
|
* fixes #449 Want more flexible pipe eventsGarrett D'Amore2018-05-17
| | | | | | | | | This changes the signature of nng_pipe_notify(), and the associated events. The documentation is updated to reflect this. We have also broken the lock up so that we don't hold the master socket lock for some of these things, which may have beneficial impact on performance.
* fixes #441 Unintentional semantic in bus protocolGarrett D'Amore2018-05-17
|
* fixes #445 crash in taskq_threadGarrett D'Amore2018-05-16
| | | | | | | | This changes the array of flags, which was confusing, brittle, and racy, into a much simpler reference (busy) count on the task structures. This allows us to support certain kinds of "reentrant" dispatching, where either a synchronous or asynchronous task can reschedule / dispatch itself. The new code also helps reduce certain lock pressure, as a bonus.
* Switch to clang 6 and gcc 8 on xenial for circle ci.Garrett D'Amore2018-05-16
| | | | We also fixed some warnings found by gcc8.
* fixes #440 leak in bus protocolGarrett D'Amore2018-05-16
|
* fixes #430 Unable to build in MSYS + Win-buildsGarrett D'Amore2018-05-15
| | | | fixes #438 Consider dropping AI_V4MAPPED