mirror of
				https://github.com/PurpleI2P/i2pd.git
				synced 2025-11-04 08:30:46 +00:00 
			
		
		
		
	drop websockets support
Signed-off-by: R4SAS <r4sas@i2pmail.org>
This commit is contained in:
		
							parent
							
								
									a0d6c654cc
								
							
						
					
					
						commit
						00db527377
					
				
					 19 changed files with 57 additions and 1041 deletions
				
			
		| 
						 | 
				
			
			@ -26,9 +26,6 @@
 | 
			
		|||
#include "Timestamp.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
 | 
			
		||||
#include "Event.h"
 | 
			
		||||
#include "Websocket.h"
 | 
			
		||||
 | 
			
		||||
namespace i2p
 | 
			
		||||
{
 | 
			
		||||
	namespace util
 | 
			
		||||
| 
						 | 
				
			
			@ -43,9 +40,6 @@ namespace i2p
 | 
			
		|||
			std::unique_ptr<i2p::client::I2PControlService> m_I2PControlService;
 | 
			
		||||
			std::unique_ptr<i2p::transport::UPnP> UPnP;
 | 
			
		||||
			std::unique_ptr<i2p::util::NTPTimeSync> m_NTPSync;
 | 
			
		||||
#ifdef WITH_EVENTS
 | 
			
		||||
			std::unique_ptr<i2p::event::WebsocketServer> m_WebsocketServer;
 | 
			
		||||
#endif
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		Daemon_Singleton::Daemon_Singleton() : isDaemon(false), running(true), d(*new Daemon_Singleton_Private()) {}
 | 
			
		||||
| 
						 | 
				
			
			@ -62,12 +56,12 @@ namespace i2p
 | 
			
		|||
			return service;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
        bool Daemon_Singleton::init(int argc, char* argv[]) {
 | 
			
		||||
            return init(argc, argv, nullptr);
 | 
			
		||||
        }
 | 
			
		||||
		bool Daemon_Singleton::init(int argc, char* argv[]) {
 | 
			
		||||
			return init(argc, argv, nullptr);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
        bool Daemon_Singleton::init(int argc, char* argv[], std::shared_ptr<std::ostream> logstream)
 | 
			
		||||
        {
 | 
			
		||||
		bool Daemon_Singleton::init(int argc, char* argv[], std::shared_ptr<std::ostream> logstream)
 | 
			
		||||
		{
 | 
			
		||||
			i2p::config::Init();
 | 
			
		||||
			i2p::config::ParseCmdline(argc, argv);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -110,10 +104,10 @@ namespace i2p
 | 
			
		|||
				logs = "file";
 | 
			
		||||
 | 
			
		||||
			i2p::log::Logger().SetLogLevel(loglevel);
 | 
			
		||||
            if (logstream) {
 | 
			
		||||
                LogPrint(eLogInfo, "Log: will send messages to std::ostream");
 | 
			
		||||
                i2p::log::Logger().SendTo (logstream);
 | 
			
		||||
            } else if (logs == "file") {
 | 
			
		||||
			if (logstream) {
 | 
			
		||||
				LogPrint(eLogInfo, "Log: will send messages to std::ostream");
 | 
			
		||||
				i2p::log::Logger().SendTo (logstream);
 | 
			
		||||
			} else if (logs == "file") {
 | 
			
		||||
				if (logfile == "")
 | 
			
		||||
					logfile = i2p::fs::DataDirPath("i2pd.log");
 | 
			
		||||
				LogPrint(eLogInfo, "Log: will send messages to ", logfile);
 | 
			
		||||
| 
						 | 
				
			
			@ -127,7 +121,7 @@ namespace i2p
 | 
			
		|||
				// use stdout -- default
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			LogPrint(eLogInfo,	"i2pd v", VERSION, " starting");
 | 
			
		||||
			LogPrint(eLogInfo,  "i2pd v", VERSION, " starting");
 | 
			
		||||
			LogPrint(eLogDebug, "FS: main config file: ", config);
 | 
			
		||||
			LogPrint(eLogDebug, "FS: data directory: ", datadir);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -151,8 +145,8 @@ namespace i2p
 | 
			
		|||
				LogPrint(eLogInfo, "Daemon: accepting incoming connections at port ", port);
 | 
			
		||||
				i2p::context.UpdatePort (port);
 | 
			
		||||
			}
 | 
			
		||||
			i2p::context.SetSupportsV6		 (ipv6);
 | 
			
		||||
			i2p::context.SetSupportsV4		 (ipv4);
 | 
			
		||||
			i2p::context.SetSupportsV6 (ipv6);
 | 
			
		||||
			i2p::context.SetSupportsV4 (ipv4);
 | 
			
		||||
 | 
			
		||||
			bool ntcp;   i2p::config::GetOption("ntcp", ntcp);
 | 
			
		||||
			i2p::context.PublishNTCPAddress (ntcp, !ipv6);  
 | 
			
		||||
| 
						 | 
				
			
			@ -233,15 +227,15 @@ namespace i2p
 | 
			
		|||
			if (family.length () > 0)
 | 
			
		||||
				LogPrint(eLogInfo, "Daemon: family set to ", family);
 | 
			
		||||
 | 
			
		||||
      bool trust; i2p::config::GetOption("trust.enabled", trust);
 | 
			
		||||
      if (trust)
 | 
			
		||||
      {
 | 
			
		||||
        LogPrint(eLogInfo, "Daemon: explicit trust enabled");
 | 
			
		||||
        std::string fam; i2p::config::GetOption("trust.family", fam);
 | 
			
		||||
			bool trust; i2p::config::GetOption("trust.enabled", trust);
 | 
			
		||||
			if (trust)
 | 
			
		||||
			{
 | 
			
		||||
				LogPrint(eLogInfo, "Daemon: explicit trust enabled");
 | 
			
		||||
				std::string fam; i2p::config::GetOption("trust.family", fam);
 | 
			
		||||
				std::string routers; i2p::config::GetOption("trust.routers", routers);
 | 
			
		||||
				bool restricted = false;
 | 
			
		||||
        if (fam.length() > 0)
 | 
			
		||||
        {
 | 
			
		||||
				if (fam.length() > 0)
 | 
			
		||||
				{
 | 
			
		||||
					std::set<std::string> fams;
 | 
			
		||||
					size_t pos = 0, comma;
 | 
			
		||||
					do
 | 
			
		||||
| 
						 | 
				
			
			@ -253,7 +247,7 @@ namespace i2p
 | 
			
		|||
					while (comma != std::string::npos);
 | 
			
		||||
					i2p::transport::transports.RestrictRoutesToFamilies(fams);
 | 
			
		||||
					restricted  = fams.size() > 0;
 | 
			
		||||
        }
 | 
			
		||||
				}
 | 
			
		||||
				if (routers.length() > 0) {
 | 
			
		||||
					std::set<i2p::data::IdentHash> idents;
 | 
			
		||||
					size_t pos = 0, comma;
 | 
			
		||||
| 
						 | 
				
			
			@ -272,14 +266,15 @@ namespace i2p
 | 
			
		|||
				}
 | 
			
		||||
				if(!restricted)
 | 
			
		||||
					LogPrint(eLogError, "Daemon: no trusted routers of families specififed");
 | 
			
		||||
      }
 | 
			
		||||
      bool hidden; i2p::config::GetOption("trust.hidden", hidden);
 | 
			
		||||
      if (hidden)
 | 
			
		||||
      {
 | 
			
		||||
        LogPrint(eLogInfo, "Daemon: using hidden mode");
 | 
			
		||||
        i2p::data::netdb.SetHidden(true);
 | 
			
		||||
      }
 | 
			
		||||
      return true;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			bool hidden; i2p::config::GetOption("trust.hidden", hidden);
 | 
			
		||||
			if (hidden)
 | 
			
		||||
			{
 | 
			
		||||
				LogPrint(eLogInfo, "Daemon: using hidden mode");
 | 
			
		||||
				i2p::data::netdb.SetHidden(true);
 | 
			
		||||
			}
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		bool Daemon_Singleton::start()
 | 
			
		||||
| 
						 | 
				
			
			@ -322,7 +317,7 @@ namespace i2p
 | 
			
		|||
			bool http; i2p::config::GetOption("http.enabled", http);
 | 
			
		||||
			if (http) {
 | 
			
		||||
				std::string httpAddr; i2p::config::GetOption("http.address", httpAddr);
 | 
			
		||||
				uint16_t		httpPort; i2p::config::GetOption("http.port",		 httpPort);
 | 
			
		||||
				uint16_t    httpPort; i2p::config::GetOption("http.port",		 httpPort);
 | 
			
		||||
				LogPrint(eLogInfo, "Daemon: starting HTTP Server at ", httpAddr, ":", httpPort);
 | 
			
		||||
				d.httpServer = std::unique_ptr<i2p::http::HTTPServer>(new i2p::http::HTTPServer(httpAddr, httpPort));
 | 
			
		||||
				d.httpServer->Start();
 | 
			
		||||
| 
						 | 
				
			
			@ -344,26 +339,11 @@ namespace i2p
 | 
			
		|||
				d.m_I2PControlService = std::unique_ptr<i2p::client::I2PControlService>(new i2p::client::I2PControlService (i2pcpAddr, i2pcpPort));
 | 
			
		||||
				d.m_I2PControlService->Start ();
 | 
			
		||||
			}
 | 
			
		||||
#ifdef WITH_EVENTS
 | 
			
		||||
 | 
			
		||||
			bool websocket; i2p::config::GetOption("websockets.enabled", websocket);
 | 
			
		||||
			if(websocket) {
 | 
			
		||||
				std::string websocketAddr; i2p::config::GetOption("websockets.address", websocketAddr);
 | 
			
		||||
				uint16_t		websocketPort; i2p::config::GetOption("websockets.port",		websocketPort);
 | 
			
		||||
				LogPrint(eLogInfo, "Daemon: starting Websocket server at ", websocketAddr, ":", websocketPort);
 | 
			
		||||
				d.m_WebsocketServer = std::unique_ptr<i2p::event::WebsocketServer>(new i2p::event::WebsocketServer (websocketAddr, websocketPort));
 | 
			
		||||
				d.m_WebsocketServer->Start();
 | 
			
		||||
				i2p::event::core.SetListener(d.m_WebsocketServer->ToListener());
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		bool Daemon_Singleton::stop()
 | 
			
		||||
		{
 | 
			
		||||
#ifdef WITH_EVENTS
 | 
			
		||||
			i2p::event::core.SetListener(nullptr);
 | 
			
		||||
#endif
 | 
			
		||||
			LogPrint(eLogInfo, "Daemon: shutting down");
 | 
			
		||||
			LogPrint(eLogInfo, "Daemon: stopping Client");
 | 
			
		||||
			i2p::client::context.Stop();
 | 
			
		||||
| 
						 | 
				
			
			@ -397,13 +377,6 @@ namespace i2p
 | 
			
		|||
				d.m_I2PControlService->Stop ();
 | 
			
		||||
				d.m_I2PControlService = nullptr;
 | 
			
		||||
			}
 | 
			
		||||
#ifdef WITH_EVENTS
 | 
			
		||||
			if (d.m_WebsocketServer) {
 | 
			
		||||
				LogPrint(eLogInfo, "Daemon: stopping Websocket server");
 | 
			
		||||
				d.m_WebsocketServer->Stop();
 | 
			
		||||
				d.m_WebsocketServer = nullptr;
 | 
			
		||||
			}
 | 
			
		||||
#endif
 | 
			
		||||
			i2p::crypto::TerminateCrypto ();
 | 
			
		||||
			i2p::log::Logger().Stop();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue