added readme; added special case camouflaging

This commit is contained in:
eerieaerial 2025-05-12 14:04:06 +04:00
parent 5fb3f5c228
commit 235addc585
9 changed files with 290 additions and 59 deletions

View file

@ -435,7 +435,11 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool
Metrics::pkt_error_out++;
Metrics::pkt_error_identity_collision_out++;
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now());
} else {
RR->t->incomingPacketMessageAuthenticationFailure(tPtr,_path,pid,fromAddress,hops(),"invalid MAC");
@ -595,7 +599,11 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR,void *tPtr,const bool
peer->recordOutgoingPacket(_path,outp.packetId(),outp.payloadLength(),outp.verb(),ZT_QOS_NO_FLOW,now);
Metrics::pkt_ok_out++;
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),now);
peer->setRemoteVersion(protoVersion,vMajor,vMinor,vRevision); // important for this to go first so received() knows the version
@ -1000,7 +1008,11 @@ bool IncomingPacket::_doEXT_FRAME(const RuntimeEnvironment *RR,void *tPtr,const
Metrics::pkt_ok_out++;
char buf[64];
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now());
}
@ -1032,7 +1044,11 @@ bool IncomingPacket::_doECHO(const RuntimeEnvironment *RR,void *tPtr,const Share
Metrics::pkt_ok_out++;
char buf[64];
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now());
peer->received(tPtr,_path,hops(),pid,payloadLength(),Packet::VERB_ECHO,0,Packet::VERB_NOP,false,0,ZT_QOS_NO_FLOW);
@ -1231,7 +1247,11 @@ bool IncomingPacket::_doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,void
Metrics::pkt_error_unsupported_op_out++;
char buf[64];
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now());
}
@ -1258,7 +1278,11 @@ bool IncomingPacket::_doNETWORK_CONFIG(const RuntimeEnvironment *RR,void *tPtr,c
Metrics::pkt_ok_out++;
char buf[64];
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now());
}
}
@ -1304,7 +1328,11 @@ bool IncomingPacket::_doMULTICAST_GATHER(const RuntimeEnvironment *RR,void *tPtr
Metrics::pkt_ok_out++;
char buf[64];
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),now);
}
}
@ -1414,7 +1442,11 @@ bool IncomingPacket::_doMULTICAST_FRAME(const RuntimeEnvironment *RR,void *tPtr,
Metrics::pkt_ok_out++;
char buf[64];
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now());
}
}
@ -1559,7 +1591,11 @@ void IncomingPacket::_sendErrorNeedCredentials(const RuntimeEnvironment *RR,void
Metrics::pkt_error_need_membership_cert_out++;
char buf[64];
outp.destination().toString(buf);
CT("UNPROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
CT("PROCESSED, packetId: %lx, address: %s", outp.packetId(), buf);
if (CamoPattern::isCamoRequired(outp.destination(), RR))
{
CamoPattern::applyCamo(outp);
}
_path->send(RR,tPtr,outp.data(),outp.size(),RR->node->now());
}