Browse Source

Merge pull request #218 from mlt/fix208

Check for invalid SAM destination
pull/225/head
orignal 10 years ago
parent
commit
6ff3f8df87
  1. 7
      SAM.cpp
  2. 1
      SAM.h

7
SAM.cpp

@ -343,7 +343,9 @@ namespace client @@ -343,7 +343,9 @@ namespace client
if (m_Session)
{
i2p::data::IdentityEx dest;
dest.FromBase64 (destination);
size_t len = dest.FromBase64(destination);
if (len > 0)
{
context.GetAddressBook().InsertAddress(dest);
auto leaseSet = m_Session->localDestination->FindLeaseSet(dest.GetIdentHash());
if (leaseSet)
@ -355,6 +357,9 @@ namespace client @@ -355,6 +357,9 @@ namespace client
shared_from_this(), std::placeholders::_1));
}
}
else
SendMessageReply(SAM_SESSION_STATUS_INVALID_KEY, strlen(SAM_SESSION_STATUS_INVALID_KEY), true);
}
else
SendMessageReply (SAM_STREAM_STATUS_INVALID_ID, strlen(SAM_STREAM_STATUS_INVALID_ID), true);
}

1
SAM.h

@ -28,6 +28,7 @@ namespace client @@ -28,6 +28,7 @@ namespace client
const char SAM_SESSION_CREATE_REPLY_OK[] = "SESSION STATUS RESULT=OK DESTINATION=%s\n";
const char SAM_SESSION_CREATE_DUPLICATED_ID[] = "SESSION STATUS RESULT=DUPLICATED_ID\n";
const char SAM_SESSION_CREATE_DUPLICATED_DEST[] = "SESSION STATUS RESULT=DUPLICATED_DEST\n";
const char SAM_SESSION_STATUS_INVALID_KEY[] = "SESSION STATUS RESULT=INVALID_KEY\n";
const char SAM_STREAM_CONNECT[] = "STREAM CONNECT";
const char SAM_STREAM_STATUS_OK[] = "STREAM STATUS RESULT=OK\n";
const char SAM_STREAM_STATUS_INVALID_ID[] = "STREAM STATUS RESULT=INVALID_ID\n";

Loading…
Cancel
Save