aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* fixes #686 strtoull() not present on WindowsGarrett D'Amore2018-08-30
| | | | | | This both makes new functions available to the core, and addresses a bug which would have prevented building the ZeroTier transport on Windows.
* fixes #688 Dangling link in nng_aio_begin()Garrett D'Amore2018-08-30
|
* fixes #684 CentOS 5 broken -- has epoll but not eventfdGarrett D'Amore2018-08-30
|
* fixes #683 atomic 64 stuff broken on pre-C11 stacksGarrett D'Amore2018-08-29
|
* fixes #678 local binding for TLS+TCP socketsGarrett D'Amore2018-08-28
|
* Issues/634 (#677)Matthew Zipay2018-08-28
| | | | * fixes #634 for tests/tls by explicitly using IPv4 for the "Valid verify works" test
* fixes #673 transports could benefit from access to upper layerGarrett D'Amore2018-08-27
|
* fixes #674 want 64-bit atomics (for stats)Garrett D'Amore2018-08-27
|
* fixes #608 Add TCP support to specify local network interfaceGarrett D'Amore2018-08-27
| | | | | This also fixes a leaked TCP connection on a failure path, which we noticed while working this change.
* fixes #669 pipe.c type conversion warningGarrett D'Amore2018-08-20
|
* fixes #668 Remove the old win_event stuffGarrett D'Amore2018-08-20
|
* fixes #665 Convert Windows UDP to raw IOCPGarrett D'Amore2018-08-20
|
* fixes #232 Add cancellation support to HTTP handler APIGarrett D'Amore2018-08-20
| | | | | Well, actually, #506 fixed that, but this fixes the commentary that indicates otherwise in the code.
* fixes #506 AIO "providers" need a way to call nni_aio_schedule.Garrett D'Amore2018-08-20
|
* fixes #664 aio cancellation could be betterGarrett D'Amore2018-08-20
| | | | | | | | | This changes the signature of the aio cancellation routines to take the argument for cancellation directly, so we do not need to lookup the argument using the nni_aio_get_prov_data. We should probably consider eliminating nni_aio_get_prov_data, and co, and changing the prov_extra to reflect prov_data. Later.
* fixes #541 inproc does not honor maxrecvsize optionGarrett D'Amore2018-08-20
|
* fixes #662 Configuring without HTTP failsGarrett D'Amore2018-08-20
|
* fixes #638 Race condition detected in websocketGarrett D'Amore2018-08-19
| | | | fixes #651 Use after free in websocket
* Remove dead #if 0 code in dialer.Garrett D'Amore2018-08-19
|
* fixes #653 Weird connect failures in dialer (multistress) (#660)Garrett D'Amore2018-08-20
| | | | | | | The POLLHUP (or rather EPOLLHUP) flag does not quite mean the same thing in Linux, and we've seen random failures where we will sometimes get this event on a socket that is freshly connected. This might be a bug in Linux, but it is easy enough to workaround -- we just don't watch for it at all.
* fixed compilation error on OpenBSD, missing sockpeercred (#659)Francisc Simon2018-08-19
| | | fixed compilation error on OpenBSD, missing sockpeercred
* fixes #656 Don't connect/remove IPC sockets unless bind failsGarrett D'Amore2018-08-16
|
* fixes #654 use aio for synchronous connectGarrett D'Amore2018-08-15
|
* fixes #652 dial has no timeout with UNIX domain socketsGarrett D'Amore2018-08-14
|
* fixes #648 REQ protocol can hang on closeGarrett D'Amore2018-08-14
| | | | | | | | | | | Actually the problem was in socket core, in particular in the shutdown code. The socket shutdown is supposed to ensure that no pipes were present on the socket, so that protocols need not concern themselves with this. The code unfortunately was busted, due to an ordering problem compounded by a race condition. This fixes that, and changes the REQ protocol to avoid the blocking condition altogether, and sprinkles a few assertions to validate these rules are being adhered to.
* fixes #208 pipe start should occur before connect / acceptGarrett D'Amore2018-08-14
| | | | | | | | | | fixes #599 nng_dial sync should not return until added to socket This reintroduces the changes for the above fixes, building upon the transport modifications that we have made to eliminate the separate transport pipe start entry point. It also includes slightly reworked code during start to put a hold on the pipe when it is created, which we we drop at the end, hopefully fixing a use-after-free.
* fixes #645 remove start from ZeroTier transportGarrett D'Amore2018-08-14
|
* fixes #647 IPC and TCP fixes from rewriteGarrett D'Amore2018-08-14
|
* fixes #644 remove start from TLS codeGarrett D'Amore2018-08-14
|
* fixes #639 Memory leak in http clientGarrett D'Amore2018-08-13
|
* fixes #632 TCP start eliminationGarrett D'Amore2018-08-13
| | | | | While here, perform a more aggressive close of the pipe on reaping (IPC).
* fixes #615 IPC close on Windows leaves handle openGarrett D'Amore2018-08-12
|
* fixes #640 IPC leaks foundGarrett D'Amore2018-08-11
|
* Provide an argument nameFred Eisele2018-08-11
|
* Write out ‘delete’Fred Eisele2018-08-11
|
* another documentation fixFred Eisele2018-08-11
|
* updates to the documentationFred Eisele2018-08-11
|
* fixes #630 IPC start eliminationGarrett D'Amore2018-08-08
| | | | | | | | | fixes #615 IPC close on Windows leaves handle open This reintroduces the code to eradicate the separate transport start function for IPC, as a incremental step towards the full fix for 599 and 208. It also addresses 615, by including revised logic for the handling of close.
* fixes #628 Hang in closing REQGarrett D'Amore2018-08-07
| | | | | | This adds a proper boolean condition for the pipe being closed (removing the unused sending flag), and adds checks for both the pipe closed and the socket closed flags at key points.
* fixes #620 Stress tests are too stressful in CI/CDGarrett D'Amore2018-08-07
| | | | | | | | | This converts the tests to use async I/O callbacks instead of threads for running tests. This should greatly reduce the amount of pressure we apply to the system. On macOS the time to start up with a pressure of 500 is significantly less than under the old system. Plus, as we are no longer at the mercy of the scheduler, we're far more likely to get a successful test.
* fixes #625 aio->a_stop/aio_begin may be too severeGarrett D'Amore2018-08-07
|
* fixes #623 nni_aio_stop could be betterGarrett D'Amore2018-08-06
|
* fixes #611 Memory Leaks under WindowsGarrett D'Amore2018-08-06
| | | | | | | | | | | | | fixes #622 incorrect assumptions about malloc(0) Windows actually allocates an object of size zero when calling malloc on size zero. This is unusual behavior, and we just add logic to work more like malloc on POSIX systems. Other systems can return non-NULL objects to fixed pages here. We think the best option here is to uniformly return NULL from our APIs in these circumstances, and to include testing to validate that.
* fixes #618 Doc: Quick StartGarrett D'Amore2018-08-06
|
* fixes #612 demo/raw needs updating to use raw socket constructorGarrett D'Amore2018-08-06
|
* Revert "fixes #599 nng_dial sync should not return until added to socket"Garrett D'Amore2018-08-06
| | | | | This changeset needs work. We are seeing errors described by This reverts commit d7f7c896c0ede24249ef63b1e45b1878bf4bd473.
* fixes #599 nng_dial sync should not return until added to socketGarrett D'Amore2018-08-05
| | | | | | | | | | fixes #208 pipe start should occur before connect / accept fixes #616 Race condition closing between header & body This refactors the transports to handle their own connection handshaking before passing the pipe to the socket. This changes and simplifies the setup. This also fixes a rather challenging race condition described by #616.
* fixes #605 NNI_ALLOC_STRUCT/NNI_ALLOC_STRUCTS should zero memoryGarrett D'Amore2018-07-24
|
* Modified code to explicitly set hints.ai_socktype passed to getaddrinfo(). ↵Mike Bush2018-07-24
| | | | On QNX, specifying a numeric servname while leaving ai_socktype unspecified would result in EAI_SERVICE.
* Added QNX build support for cmake.Mike Bush2018-07-24
|