Improved trustedproxy support
This commit is contained in:
		
							parent
							
								
									f43a1e5b99
								
							
						
					
					
						commit
						5c8aa1bfbd
					
				
					 5 changed files with 55 additions and 8 deletions
				
			
		|  | @ -448,8 +448,7 @@ namespace Mist { | |||
|   bool HTTPOutput::isTrustedProxy(const std::string & ip){ | ||||
|     static std::set<std::string> trustedProxies; | ||||
|     if (!trustedProxies.size()){ | ||||
|       trustedProxies.insert("::1"); | ||||
|       trustedProxies.insert("127.0.0.1"); | ||||
|       trustedProxies.insert("localhost"); | ||||
| 
 | ||||
|       IPC::sharedPage rPage(SHM_PROXY, 0, false, false); | ||||
|       if (rPage){ | ||||
|  | @ -467,11 +466,11 @@ namespace Mist { | |||
|         } | ||||
|       } | ||||
|     } | ||||
|     //Make sure to also check for IPv6 addresses
 | ||||
|     if (ip.substr(0, 7) == "::ffff:" && trustedProxies.count(ip.substr(7))){ | ||||
|       return true; | ||||
|     std::string binIp = Socket::getBinForms(ip); | ||||
|     for (std::set<std::string>::iterator it = trustedProxies.begin(); it != trustedProxies.end(); ++it){ | ||||
|       if (Socket::isBinAddress(binIp, *it)){return true;} | ||||
|     } | ||||
|     return trustedProxies.count(ip) > 0; | ||||
|     return false; | ||||
|   } | ||||
|   /*LTS-END*/ | ||||
|    | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Thulinma
						Thulinma