Skip to content
/ i2pd Public
forked from PurpleI2P/i2pd

Commit

Permalink
fixed server http tunnel header
Browse files Browse the repository at this point in the history
  • Loading branch information
orignal committed Feb 3, 2016
1 parent 7274d43 commit 77d8bae
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions I2PTunnel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ namespace client

void I2PTunnelConnection::Write (const uint8_t * buf, size_t len)
{
m_Socket->async_send (boost::asio::buffer (buf, len),
boost::asio::async_write (*m_Socket, boost::asio::buffer (buf, len), boost::asio::transfer_all (),
std::bind (&I2PTunnelConnection::HandleWrite, shared_from_this (), std::placeholders::_1));
}

Expand Down Expand Up @@ -184,11 +184,14 @@ namespace client
std::getline(m_InHeader, line);
if (!m_InHeader.fail ())
{
if (line.find ("Host:") != std::string::npos)
m_OutHeader << "Host: " << m_Host << "\r\n";
else
m_OutHeader << line << "\n";
if (line == "\r") endOfHeader = true;
else
{
if (line.find ("Host:") != std::string::npos)
m_OutHeader << "Host: " << m_Host << "\r\n";
else
m_OutHeader << line << "\n";
}
}
else
break;
Expand All @@ -203,6 +206,7 @@ namespace client

if (endOfHeader)
{
m_OutHeader << "\r\n"; // end of header
m_OutHeader << m_InHeader.str (); // data right after header
m_HeaderSent = true;
I2PTunnelConnection::Write ((uint8_t *)m_OutHeader.str ().c_str (), m_OutHeader.str ().length ());
Expand Down

0 comments on commit 77d8bae

Please sign in to comment.