mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
session clean up. better error reporting for server handshake errors
This commit is contained in:
@@ -40,9 +40,8 @@ void chat_handler::validate(websocketpp::session_ptr client) {
|
||||
}
|
||||
|
||||
// Require specific origin example
|
||||
if (client->get_header("Sec-WebSocket-Origin") != "http://zaphoyd.com") {
|
||||
err << "Request from unrecognized origin: "
|
||||
<< client->get_header("Sec-WebSocket-Origin");
|
||||
if (client->get_origin() != "http://zaphoyd.com") {
|
||||
err << "Request from unrecognized origin: " << client->get_origin();
|
||||
throw(handshake_error(err.str(),403));
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -44,7 +44,6 @@ session::session (boost::asio::io_service& io_service,
|
||||
connection_handler_ptr defc)
|
||||
: m_socket(io_service),
|
||||
m_status(CONNECTING),
|
||||
m_http_error_code(0),
|
||||
m_local_interface(defc) {}
|
||||
|
||||
tcp::socket& session::socket() {
|
||||
@@ -117,11 +116,6 @@ std::string session::get_origin() const {
|
||||
}
|
||||
}
|
||||
|
||||
void session::set_http_error(int code, std::string msg) {
|
||||
m_http_error_code = code;
|
||||
m_http_error_string = (msg != "" ? msg : lookup_http_error_string(code));
|
||||
}
|
||||
|
||||
std::string session::lookup_http_error_string(int code) {
|
||||
switch (code) {
|
||||
case 400:
|
||||
@@ -352,7 +346,7 @@ void session::write_handshake() {
|
||||
|
||||
if (!sha.Result(message_digest)) {
|
||||
std::cerr << "Error computing sha1 hash, killing connection." << std::endl;
|
||||
|
||||
write_http_error(500,"");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -371,9 +365,7 @@ void session::write_handshake() {
|
||||
server_handshake += "Sec-WebSocket-Accept: "+server_key+"\r\n\r\n";
|
||||
|
||||
// TODO: handler requested headers
|
||||
|
||||
//std::cout << server_handshake << std::endl;
|
||||
|
||||
|
||||
// start async write to handle_write_handshake
|
||||
boost::asio::async_write(
|
||||
m_socket,
|
||||
|
||||
@@ -224,8 +224,6 @@ private:
|
||||
boost::asio::streambuf m_buf;
|
||||
|
||||
// unorganized
|
||||
int m_http_error_code;
|
||||
std::string m_http_error_string;
|
||||
std::string m_handshake;
|
||||
frame m_read_frame;
|
||||
frame m_write_frame;
|
||||
|
||||
Reference in New Issue
Block a user