Browse Source

list of headers to remove

pull/1556/head
orignal 4 years ago
parent
commit
7246624983
  1. 18
      libi2pd_client/I2PTunnel.cpp

18
libi2pd_client/I2PTunnel.cpp

@ -328,7 +328,7 @@ namespace client
if (line == "\r") endOfHeader = true; if (line == "\r") endOfHeader = true;
else else
{ {
if (m_Host.length () > 0 && line.find ("Host:") != std::string::npos) if (m_Host.length () > 0 && !line.compare(0, 5, "Host:"))
m_OutHeader << "Host: " << m_Host << "\r\n"; // override host m_OutHeader << "Host: " << m_Host << "\r\n"; // override host
else else
m_OutHeader << line << "\n"; m_OutHeader << line << "\n";
@ -377,14 +377,18 @@ namespace client
if (line == "\r") endOfHeader = true; if (line == "\r") endOfHeader = true;
else else
{ {
if (line.find ("Server:") != std::string::npos) continue; // exclude "Server:" static const std::vector<std::string> excluded // list of excluded headers
if (line.find ("Date:") != std::string::npos) continue; // exclude "Date""
if (line[0] == 'X')
{ {
if (line.find ("X-Runtime:") != std::string::npos) continue; // exclude "X-Runtime:" "Server:", "Date:", "X-Runtime:", "X-Powered-By:", "Proxy"
if (line.find ("X-Powered-By:") != std::string::npos) continue; // exclude "X-Powered-By:" };
bool matched = false;
for (const auto& it: excluded)
if (!line.compare(0, it.length (), it))
{
matched = true;
break;
} }
if (!matched)
m_OutHeader << line << "\n"; m_OutHeader << line << "\n";
} }
} }

Loading…
Cancel
Save