summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--node/Node.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/node/Node.cpp b/node/Node.cpp
index 32d41305..0d0750ca 100644
--- a/node/Node.cpp
+++ b/node/Node.cpp
@@ -476,15 +476,16 @@ void Node::clearLocalInterfaceAddresses()
int Node::sendUserMessage(uint64_t dest,uint64_t typeId,const void *data,unsigned int len)
{
try {
- Packet outp(Address(dest),RR->identity.address(),Packet::VERB_USER_MESSAGE);
- outp.append(typeId);
- outp.append(data,len);
- outp.compress();
- RR->sw->send(outp,true);
- return 1;
- } catch ( ... ) {
- return 0;
- }
+ if (RR->identity.address().toInt() != dest) {
+ Packet outp(Address(dest),RR->identity.address(),Packet::VERB_USER_MESSAGE);
+ outp.append(typeId);
+ outp.append(data,len);
+ outp.compress();
+ RR->sw->send(outp,true);
+ return 1;
+ }
+ } catch ( ... ) {}
+ return 0;
}
void Node::setRole(uint64_t ztAddress,ZT_PeerRole role)