diff --git a/RELICENSE/colletted.md b/RELICENSE/colletted.md new file mode 100644 index 00000000..37a67966 --- /dev/null +++ b/RELICENSE/colletted.md @@ -0,0 +1,7 @@ +Permission to Relicense under MPLv2 or any other OSI approved license chosen by the current ZeroMQ BDFL + +This is a statement by Denis Collette that grants permission to relicense its copyrights in the libzmq C++ library (ZeroMQ) under the Mozilla Public License v2 (MPLv2) or any other Open Source Initiative approved license chosen by the current ZeroMQ BDFL (Benevolent Dictator for Life). + +A portion of the commits made by the Github handle "colletted", with commit author "Denis Collette denisncollette@gmail.com", are copyright of Denis Collette. This document hereby grants the libzmq project team to relicense libzmq, including all past, present and future contributions of the author listed above. + +Denis Collette 2020/01/22 diff --git a/src/ws_engine.cpp b/src/ws_engine.cpp index fc4b1721..38120bf3 100644 --- a/src/ws_engine.cpp +++ b/src/ws_engine.cpp @@ -73,6 +73,7 @@ along with this program. If not, see . #ifdef ZMQ_HAVE_WINDOWS #define strcasecmp _stricmp +#define strtok_r strtok_s #else #ifdef ZMQ_HAVE_LIBBSD #include @@ -487,7 +488,8 @@ bool zmq::ws_engine_t::server_handshake () // Sec-WebSocket-Protocol can appear multiple times or be a comma separated list // if _websocket_protocol is already set we skip the check if (_websocket_protocol[0] == '\0') { - char *p = strtok (_header_value, ","); + char *rest; + char *p = strtok_r (_header_value, ",", &rest); while (p != NULL) { if (*p == ' ') p++; @@ -497,7 +499,7 @@ bool zmq::ws_engine_t::server_handshake () break; } - p = strtok (NULL, ","); + p = strtok_r (NULL, ",", &rest); } } }