From 882d243bd561782308548accdc1b7992ad0ae3af Mon Sep 17 00:00:00 2001 From: Peter Thorson Date: Thu, 8 Sep 2011 07:35:16 -0500 Subject: [PATCH] license stuff --- Makefile | 30 ++++++++++++++++++++ examples/echo_server/echo_client.html | 2 +- examples/echo_server/echo_server | Bin 291596 -> 322192 bytes readme.txt | 11 ++++++-- src/network_utilities.cpp | 27 ++++++++++++++++++ src/network_utilities.hpp | 27 ++++++++++++++++++ src/websocket_connection_handler.hpp | 27 ++++++++++++++++++ src/websocket_frame.cpp | 29 ++++++++++++++++++- src/websocket_frame.hpp | 27 ++++++++++++++++++ src/websocket_server.cpp | 27 ++++++++++++++++++ src/websocket_server.hpp | 28 ++++++++++++++++++ src/websocket_session.cpp | 39 ++++++++++++++++++++++++-- src/websocket_session.hpp | 31 ++++++++++++++++++-- src/websocketpp.hpp | 31 +++++++++++++++++++- 14 files changed, 326 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index d29fe6ed34..a4a27759d2 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,33 @@ +################################################################################ +# +# Copyright (c) 2011, Peter Thorson. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the WebSocket++ Project nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# This Makefile was derived from a similar one included in the libjson project +# It's authors were Jonathan Wallace and Bernhard Fluehmann. + + objects = websocket_session.o websocket_server.o websocket_frame.o \ network_utilities.o sha1.o base64.o diff --git a/examples/echo_server/echo_client.html b/examples/echo_server/echo_client.html index 8e6bc9bbce..cd46a17a72 100644 --- a/examples/echo_server/echo_client.html +++ b/examples/echo_server/echo_client.html @@ -15,7 +15,7 @@ function connect() { if ("WebSocket" in window) { ws = new WebSocket(url); } else if ("MozWebSocket" in window) { - ws = new WebSocket(url); + ws = new MozWebSocket(url); } else { document.getElementById("messages").innerHTML += "This Browser does not support WebSockets
"; return; diff --git a/examples/echo_server/echo_server b/examples/echo_server/echo_server index 51987c96093152755a388011721672928b9a62d5..19507a8e07518e4ad0c5ac2ed9db79b8fb4ded5f 100755 GIT binary patch literal 322192 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

wa{7=dt``*d|Bs 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 delta 90610 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 #include -#include +#include using websocketpp::frame; diff --git a/src/websocket_frame.hpp b/src/websocket_frame.hpp index a010117615..b139261bd9 100644 --- a/src/websocket_frame.hpp +++ b/src/websocket_frame.hpp @@ -1,3 +1,30 @@ +/* + * Copyright (c) 2011, Peter Thorson. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the WebSocket++ Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + #ifndef WEBSOCKET_FRAME_HPP #define WEBSOCKET_FRAME_HPP diff --git a/src/websocket_server.cpp b/src/websocket_server.cpp index 5f6665ad8b..d97ad4957d 100644 --- a/src/websocket_server.cpp +++ b/src/websocket_server.cpp @@ -1,3 +1,30 @@ +/* + * Copyright (c) 2011, Peter Thorson. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the WebSocket++ Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + #include "websocket_server.hpp" #include diff --git a/src/websocket_server.hpp b/src/websocket_server.hpp index 6818ee1570..6377272ca2 100644 --- a/src/websocket_server.hpp +++ b/src/websocket_server.hpp @@ -1,3 +1,30 @@ +/* + * Copyright (c) 2011, Peter Thorson. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the WebSocket++ Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + #ifndef WEBSOCKET_SERVER_HPP #define WEBSOCKET_SERVER_HPP @@ -27,6 +54,7 @@ class server { const boost::system::error_code& error); private: + std::string m_host; boost::asio::io_service& m_io_service; tcp::acceptor m_acceptor; diff --git a/src/websocket_session.cpp b/src/websocket_session.cpp index 8d68e65898..6df3bc3431 100644 --- a/src/websocket_session.cpp +++ b/src/websocket_session.cpp @@ -1,3 +1,30 @@ +/* + * Copyright (c) 2011, Peter Thorson. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the WebSocket++ Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + #include "websocket_session.hpp" #include "websocket_frame.hpp" @@ -12,8 +39,12 @@ using websocketpp::session; +tcp::socket& session::socket() { + return m_socket; +} + void session::start() { - //std::cout << "[Connection " << this << "] WebSocket Connection request from " << m_socket.remote_endpoint() << std::endl; + std::cout << "[Connection " << this << "] WebSocket Connection request from " << m_socket.remote_endpoint() << std::endl; // async read to handle_read_handshake boost::asio::async_read_until( @@ -48,6 +79,10 @@ std::string session::get_header(const std::string& key) const { } } +void session::add_header(const std::string &key,const std::string &value) { + throw "unimplimented"; +} + std::string session::get_request() const { return m_request; } @@ -222,7 +257,7 @@ void session::handle_read_handshake(const boost::system::error_code& e, // verify the presence of required headers if (get_header("Host") != m_host) { - std::cerr << "Invalid or missing Host header." << std::endl; + std::cerr << "Invalid or missing Host header. " << get_header("Host") << "!=" << m_host << std::endl; this->set_http_error(400); } if (!boost::iequals(get_header("Upgrade"),"websocket")) { diff --git a/src/websocket_session.hpp b/src/websocket_session.hpp index 479337ff93..b6ba70481d 100644 --- a/src/websocket_session.hpp +++ b/src/websocket_session.hpp @@ -1,3 +1,30 @@ +/* + * Copyright (c) 2011, Peter Thorson. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the WebSocket++ Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + #ifndef WEBSOCKET_SESSION_HPP #define WEBSOCKET_SESSION_HPP @@ -51,9 +78,7 @@ public: m_http_error_code(0), m_local_interface(defc) {} - tcp::socket& socket() { - return m_socket; - } + tcp::socket& socket(); // This function is called to begin the session loop. This method and all // that come after it are called as a result of an async event completing. diff --git a/src/websocketpp.hpp b/src/websocketpp.hpp index d798ef11db..7d28071906 100644 --- a/src/websocketpp.hpp +++ b/src/websocketpp.hpp @@ -1,6 +1,35 @@ +/* + * Copyright (c) 2011, Peter Thorson. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the WebSocket++ Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This Makefile was derived from a similar one included in the libjson project + * It's authors were Jonathan Wallace and Bernhard Fluehmann. + */ + #ifndef WEBSOCKETPP_HPP #define WEBSOCKETPP_HPP -#include +#include "websocket_server.hpp" #endif // WEBSOCKETPP_HPP