mirror of
				https://github.com/PurpleI2P/i2pd.git
				synced 2025-11-04 08:30:46 +00:00 
			
		
		
		
	set correct NAME for NAMING REPLY
This commit is contained in:
		
							parent
							
								
									b4d1e89696
								
							
						
					
					
						commit
						a61d7fe115
					
				
					 2 changed files with 9 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -708,16 +708,16 @@ namespace client
 | 
			
		|||
		auto session = m_Owner.FindSession(m_ID);
 | 
			
		||||
		auto dest = session == nullptr ? context.GetSharedLocalDestination() : session->localDestination;
 | 
			
		||||
		if (name == "ME")
 | 
			
		||||
			SendNamingLookupReply (dest->GetIdentity ());
 | 
			
		||||
			SendNamingLookupReply (name, dest->GetIdentity ());
 | 
			
		||||
		else if ((identity = context.GetAddressBook ().GetFullAddress (name)) != nullptr)
 | 
			
		||||
			SendNamingLookupReply (identity);
 | 
			
		||||
			SendNamingLookupReply (name, identity);
 | 
			
		||||
		else if ((addr = context.GetAddressBook ().GetAddress (name)))
 | 
			
		||||
		{
 | 
			
		||||
			if (addr->IsIdentHash ())
 | 
			
		||||
			{
 | 
			
		||||
				auto leaseSet = dest->FindLeaseSet (addr->identHash);
 | 
			
		||||
				if (leaseSet)
 | 
			
		||||
					SendNamingLookupReply (leaseSet->GetIdentity ());
 | 
			
		||||
					SendNamingLookupReply (name, leaseSet->GetIdentity ());
 | 
			
		||||
				else
 | 
			
		||||
					dest->RequestDestination (addr->identHash,
 | 
			
		||||
						std::bind (&SAMSocket::HandleNamingLookupLeaseSetRequestComplete,
 | 
			
		||||
| 
						 | 
				
			
			@ -756,7 +756,7 @@ namespace client
 | 
			
		|||
		if (leaseSet)
 | 
			
		||||
		{
 | 
			
		||||
			context.GetAddressBook ().InsertFullAddress (leaseSet->GetIdentity ());
 | 
			
		||||
			SendNamingLookupReply (leaseSet->GetIdentity ());
 | 
			
		||||
			SendNamingLookupReply (name, leaseSet->GetIdentity ());
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -770,13 +770,13 @@ namespace client
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	void SAMSocket::SendNamingLookupReply (std::shared_ptr<const i2p::data::IdentityEx> identity)
 | 
			
		||||
	void SAMSocket::SendNamingLookupReply (const std::string& name, std::shared_ptr<const i2p::data::IdentityEx> identity)
 | 
			
		||||
	{
 | 
			
		||||
		auto base64 = identity->ToBase64 ();
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
		size_t l = sprintf_s (m_Buffer, SAM_SOCKET_BUFFER_SIZE, SAM_NAMING_REPLY, base64.c_str ());
 | 
			
		||||
		size_t l = sprintf_s (m_Buffer, SAM_SOCKET_BUFFER_SIZE, SAM_NAMING_REPLY, name.c_str (), base64.c_str ());
 | 
			
		||||
#else
 | 
			
		||||
		size_t l = snprintf (m_Buffer, SAM_SOCKET_BUFFER_SIZE, SAM_NAMING_REPLY, base64.c_str ());
 | 
			
		||||
		size_t l = snprintf (m_Buffer, SAM_SOCKET_BUFFER_SIZE, SAM_NAMING_REPLY, name.c_str (), base64.c_str ());
 | 
			
		||||
#endif
 | 
			
		||||
		SendMessageReply (m_Buffer, l, false);
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ namespace client
 | 
			
		|||
	const char SAM_DEST_REPLY[] = "DEST REPLY PUB=%s PRIV=%s\n";
 | 
			
		||||
	const char SAM_DEST_REPLY_I2P_ERROR[] = "DEST REPLY RESULT=I2P_ERROR\n";
 | 
			
		||||
	const char SAM_NAMING_LOOKUP[] = "NAMING LOOKUP";
 | 
			
		||||
	const char SAM_NAMING_REPLY[] = "NAMING REPLY RESULT=OK NAME=ME VALUE=%s\n";
 | 
			
		||||
	const char SAM_NAMING_REPLY[] = "NAMING REPLY RESULT=OK NAME=%s VALUE=%s\n";
 | 
			
		||||
	const char SAM_DATAGRAM_RECEIVED[] = "DATAGRAM RECEIVED DESTINATION=%s SIZE=%lu\n";
 | 
			
		||||
	const char SAM_RAW_RECEIVED[] = "RAW RECEIVED SIZE=%lu\n";
 | 
			
		||||
	const char SAM_NAMING_REPLY_INVALID_KEY[] = "NAMING REPLY RESULT=INVALID_KEY NAME=%s\n";
 | 
			
		||||
| 
						 | 
				
			
			@ -140,7 +140,7 @@ namespace client
 | 
			
		|||
 | 
			
		||||
			void Connect (std::shared_ptr<const i2p::data::LeaseSet> remote, std::shared_ptr<SAMSession> session = nullptr);
 | 
			
		||||
			void HandleConnectLeaseSetRequestComplete (std::shared_ptr<i2p::data::LeaseSet> leaseSet);
 | 
			
		||||
			void SendNamingLookupReply (std::shared_ptr<const i2p::data::IdentityEx> identity);
 | 
			
		||||
			void SendNamingLookupReply (const std::string& name, std::shared_ptr<const i2p::data::IdentityEx> identity);
 | 
			
		||||
			void HandleNamingLookupLeaseSetRequestComplete (std::shared_ptr<i2p::data::LeaseSet> leaseSet, std::string name);
 | 
			
		||||
			void HandleSessionReadinessCheckTimer (const boost::system::error_code& ecode);
 | 
			
		||||
			void SendSessionCreateReplyOk ();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue